收藏
回答

修改picker-view的value会触发3次bindchange,产生BUG

问题模块
API和组件


初始化picker-view的value后,如果对picker-view进行了滑动操作,这个时候如果通过一个按钮点击事件,用setData来修改value值达到picker-view恢复选择,setData后会自动执行3次bindchange绑定的方法。

假设之前最后一次滑动传入bindchange的值是[17,7,17],而setData的value值为[18,9,18],setData后,会自动触发3次bindchange,而这3次bindchange收到的detail.value分别是[0,7,17],[0,0,17],[0,0,0],而this.data.value的值一直是修改后的[18,9,18]

而视图端,picker-view确实选择到了[0,0,0]的状态,这个时候再滑动picker-view会自动复位到[0,0,0]的状态,无法正常使用。


补充一下,我将问题有精准定位了下。当picker-view显示的时候,修改value是正常的。但是当隐藏了picker-view(设置hidden为true,或者display为none),这个时候设置picker-view的value,然后再展示picker-view就会出现上面的问题。

最后一次编辑于  2017-08-21  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 快乐的单身汉
    快乐的单身汉
    2018-05-18

    会变得很卡?

    2018-05-18
    赞同
    回复
  • 逆光
    逆光
    2018-08-17

    值变回去了,但是页面显示的并不是联动的值

    2018-08-17
    赞同
    回复