小程序picker组件mode=multiSelector必须设置value属性,否则ios系统bindcolumnchange事件不会触发

踩了一个小坑,利用小程序的picker组件做了一个二级联动的地市选择器,最开始直接复制的官方开发文档下面给的例子


  多列选择器
  
    
      当前选择:{{multiArray[0][multiIndex[0]]}},{{multiArray[1][multiIndex[1]]}},{{multiArray[2][multiIndex[2]]}}
    
  

默认加了value属性,但是我没有在js里面初始化multiIndex这个变量,导致第一次选择地市的时候,不能触发bindcolumnchange事件,必须要点过确认之后,第二次选择才会触发。上微信开放社区里面搜一了下,看到了这个解决方案:

小程序picker组件mode=multiSelector必须设置value属性,否则ios系统bindcolumnchange事件不会触发_第1张图片

然后我把value属性去掉了,果然可以用了,但是,ios系统还是始终不能触发bindcolumnchange事件,不管第几次选择都不能触发,最后发现value属性必须要设置只要在js文件里初始化一下value的值就不会出现第一次触发不了的情况了。需要注意的是,value的值应该是一个数组,我用的是二级联动,所以初始化的值为[0,0],如果是三级联动就应该初始化为一个length为3的数组,以此类推。

你可能感兴趣的:(前端框架,技术分享)