收藏
回答

picker-view中bindpickstart,bindpickend,bindchange执行

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug picker-view 微信安卓客户端 7.0.10 2.0.0

在我的picker-view中,有3列数据,multiIndex是picker-view的值。我一直认为滑动时,应该是pickstart先执行,然后是pickchange,最后才是pickend。但是,实际情况显然不是这样。看下面两次测试的例子:

(1)先后快速向下滑动第1列和第3列,正常情况下是multiIndex应该从1,0,2变成0,0,0,(期间应该执行两次pickchange,第1次执行pickchange,multiIndex应该变成0,0,2,第二次执行就应该变成0,0,0了,pickstart和pickend也都应该是执行两次的。)如下图:

问题是第2次pickchange是在第2次pickend后执行的?这样不对吧!不过还好,最终结果是multiIndex值为0,0,0,不影响后面的程序执行。但是下面的测试就。。。

(2)如果 先后快速向下滑动第1列和第3列后,就紧接着点击蓝色的“开始挑战”按钮,开始执行startChallenge_rUSuccess(),那结果就不一样了。

整个过程是:pickstart先执行两次,然后执行第1次pickchange,multiIndex变成0,0,2,然后执行了两次pickend,不再执行第2次的pickchange,直接跟上了startChallenge_rUSuccess(),导致multiIndex的值也仍旧是0,0,2。没能够获取到正确的值,直接影响了后续计算。

https://developers.weixin.qq.com/miniprogram/dev/component/picker-view.html

回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签