收藏
回答

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


初始化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-08-17

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

    2018-08-17
    有用
    回复 1
    • ^O^か
      ^O^か
      2023-04-24
      对 我的也是这样的 可以变  但是不是自己选中的值  不知道什么鬼
      2023-04-24
      回复
  • 罗梅光
    罗梅光
    2018-05-18

    会变得很卡?

    2018-05-18
    有用
    回复
登录 后发表内容