小程序
小游戏
企业微信
微信支付
扫描小程序码分享
- 当前 Bug 的表现(可附上截图)
picker-view中bindchange方法会在滑动结束后才触发,如果我随手一滑,还没等他停下就就按确定按钮或者跳转页面,那么bindchange没触发就不能获取到滑动后改变的值,这样对于用户体验来说,极度不好
10 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
给找到这篇文章的人省流
picker-view增加了immediate-change方法,设置成true。
是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注,好像17年就有人反馈这个问题 了,这个问题一直没有修复么?
2022.似乎还有这个问题, 但是我弄了办法解决, 滑动太快随他去划, 划太快一般第二列展示的都是上一次的内容, 还没更新就被确定了, 所以我们点击确定的时候遍历原数组找到滑动的那一项的第二列内容, 判断原数组第二列的内容是否和这次第二列的内容一致,如果不一致则把原数组的第二列内容作为选中的内容, 再次打开时记得重置picker数组第二列展示的内容,几乎完美解决问题
太坑了,简直就是设计缺陷。我第二例的值滑动,马上按确定按钮;第三列还没有请求。这时候得到的数据第二例变了,第三列还是之前第二列查询出来的的数据。这一切原因都是picker 的bindchange(确定按钮事件) 在bindcolumnchange(值滑动变化事件)没有停止的情况下发生,确定按钮事件还阻止了滑动的事件。我加倒计时等候都不行!。
建议组件优化:1.应该必须在滑动停止后才能点击确定按钮。2.确定按钮事件不要阻止滑动事件的执行。
我们在快递管家小程序上开发时也遇到这个问题,
触发时序为: bindpickstart -> bindchange -> bindpickend
解决1:
1)监听bindpickstart,bindchange,bindpickend
2) bindpickstart设置isTouchingflag 为true, bindchange触发判断isTouchingflag 是否为true,如果true,则清除上一个定时器,延时200ms继续判断,bindpickend设置isTouchingflag 为false, bindchange事件防抖生效。
缺点就是交互体验不太好,不能做到实时响应,只能实现基本功能。
解决2:
自实现一套picker-list组件
确实有这个问题
是啊2022年10月28刚好有这个bug,很多是说使用pickend判断结束后才可以点确认选择时间,有一种场景不默认显示时间,第一次用户也不能点击确认选择时间,还必须滑动一下?
2022了,还是碰到了这个问题。。没想到这么早就有人提出了,突然觉得心里好受些了哈哈哈
picker-view有没有picke里columnchange事件?
不停下来怎么确认你的选值?
滑动事件,他这个不是在滑动的时候跟随,是你滑动结束,在触发事件,这样会给用户造成延迟感,而且比较严重
是停的太慢了。尤其是每列的第一个和最后一个,要等两仨秒钟。用户用个P啊
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
给找到这篇文章的人省流
picker-view增加了immediate-change方法,设置成true。
是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件。
关注,好像17年就有人反馈这个问题 了,这个问题一直没有修复么?
2022.似乎还有这个问题, 但是我弄了办法解决, 滑动太快随他去划, 划太快一般第二列展示的都是上一次的内容, 还没更新就被确定了, 所以我们点击确定的时候遍历原数组找到滑动的那一项的第二列内容, 判断原数组第二列的内容是否和这次第二列的内容一致,如果不一致则把原数组的第二列内容作为选中的内容, 再次打开时记得重置picker数组第二列展示的内容,几乎完美解决问题
太坑了,简直就是设计缺陷。我第二例的值滑动,马上按确定按钮;第三列还没有请求。这时候得到的数据第二例变了,第三列还是之前第二列查询出来的的数据。这一切原因都是picker 的bindchange(确定按钮事件) 在bindcolumnchange(值滑动变化事件)没有停止的情况下发生,确定按钮事件还阻止了滑动的事件。我加倒计时等候都不行!。
建议组件优化:1.应该必须在滑动停止后才能点击确定按钮。2.确定按钮事件不要阻止滑动事件的执行。
我们在快递管家小程序上开发时也遇到这个问题,
触发时序为: bindpickstart -> bindchange -> bindpickend
解决1:
1)监听bindpickstart,bindchange,bindpickend
2) bindpickstart设置isTouchingflag 为true, bindchange触发判断isTouchingflag 是否为true,如果true,则清除上一个定时器,延时200ms继续判断,bindpickend设置isTouchingflag 为false, bindchange事件防抖生效。
缺点就是交互体验不太好,不能做到实时响应,只能实现基本功能。
解决2:
自实现一套picker-list组件
确实有这个问题
是啊2022年10月28刚好有这个bug,很多是说使用pickend判断结束后才可以点确认选择时间,有一种场景不默认显示时间,第一次用户也不能点击确认选择时间,还必须滑动一下?
2022了,还是碰到了这个问题。。没想到这么早就有人提出了,突然觉得心里好受些了哈哈哈
picker-view有没有picke里columnchange事件?
不停下来怎么确认你的选值?
滑动事件,他这个不是在滑动的时候跟随,是你滑动结束,在触发事件,这样会给用户造成延迟感,而且比较严重
是停的太慢了。尤其是每列的第一个和最后一个,要等两仨秒钟。用户用个P啊
建议组件优化:1.应该必须在滑动停止后才能点击确定按钮。2.确定按钮事件不要阻止滑动事件的执行。