小程序
小游戏
企业微信
微信支付
扫描小程序码分享
picker-view在做多级联动时,通过Array.splice方法修正数据并重置value,会触发 change 方法,导致数据错误
第一次修改第一列,第二列的数据为理想数据,第二次修改第一列,就会多次触发change方法
通过push的形式不会触发change
代码片段:https://developers.weixin.qq.com/s/hymR1imB79mC
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
// 20ms 依然会有触发情况,所以索性设置大点间隔 if (Date.now() - this.data.timestamp < 100) { this.setData({ timestamp: Date.now() }) return } this.setData({ timestamp: Date.now() }) // 其他逻辑
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
value的值如果是从[1, 4, 5]到[1, 2, 4] 这样的是没问题,但是如果是从[1, 14, 5]到[1, 2, 4]这个时候就会触发change事件,我现在的处理方式是先给value设置一个[0,0,0],然后再赋值正常的值,这样就不会触发change事件, 这样会闪一下,最好是加个loading效果,这也不是最好的处理方式,目前先这样用着了
https://developers.weixin.qq.com/community/develop/article/doc/0000643f674fa81a18a92b37455413
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
// 20ms 依然会有触发情况,所以索性设置大点间隔 if (Date.now() - this.data.timestamp < 100) { this.setData({ timestamp: Date.now() }) return } this.setData({ timestamp: Date.now() }) // 其他逻辑
value的值如果是从[1, 4, 5]到[1, 2, 4] 这样的是没问题,但是如果是从[1, 14, 5]到[1, 2, 4]这个时候就会触发change事件,我现在的处理方式是先给value设置一个[0,0,0],然后再赋值正常的值,这样就不会触发change事件, 这样会闪一下,最好是加个loading效果,这也不是最好的处理方式,目前先这样用着了
https://developers.weixin.qq.com/community/develop/article/doc/0000643f674fa81a18a92b37455413