问题:真机测试,自定义的多级联动进入页面第一次选择无法触发bindcolumnchange,导致联动失败,第二次选择时则又可以了。
原因:value的值不对!
value array [] 表示选择了 range 中的第几个(下标从 0 开始)
注意⚠️:这里为三级联动,所以multiIndex为数组[0, 0, 0]
<picker mode="multiSelector"
bindcolumnchange="bindMultiPickerColumnChange"
bindchange="pickerChange"
range-key='name'
value="{
{multiIndex}}"
range="{
{list}}">
{
{category || '选择分类'}}
</picker>
测试:
当value的值不为数组,就会导致第一次无法触发bindcolumnchange,真机上也会第一次无法触发bindcolumnchange,导致联动失败
-
不写value的值或去掉value的值都没影响,但value用来做定位的,还是要用的
-
当 value="[0,0,0]",
value="{pp}"
multiIndex: ‘[0,0,0]’
数据不为数组时,无法触动bindcolumnchange -
value="{ {[0,0,0]}}"可行
-
运行过程中,发生改变,multiIndex: ‘[0,0,0]’ 则导致渲染失败
[渲染层错误] TypeError: Cannot assign to read only property '1' of string '[0, 0, 0]'
方案:
注意⚠️:确保value的组为数组!! value是用来调节由于切换行,让其他的联动行可以滑动回顶部,即设定对应其所在的索引位置。