修改picker-view的value会触发3次bindchange,产生BUG
发布于 6 年前 作者 jiewang 12089 次浏览 来自 问答

初始化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就会出现上面的问题。

2 回复

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

会变得很卡?

回到顶部