糖猫猫
糖猫猫
  • 发布:2025-08-18 18:10
  • 更新:2025-08-18 18:10
  • 阅读:20

w-picker组件微信小程序兼容性问题

分类:uni-app

很多项目中的选择器用的全部是Dcloud插件市场的 w-picker组件,这个组件功能非常的强大能满足大部分选择器的使用场景。
最近发现了一个bug,微信小程序w-picker下拉选择数据时,偶然出现选中的数据依然是上次的老数据而不是最新的数据

经过深入研究发现bug出现原因: picker-view 组件的 @change 事件仅在用户完成滑动操作后触发。
当系统出现异常情况时,通常是由于用户滑动操作过于迅速,并在滑动尚未结束时点击了右上角的”确认按钮“。
在此情形下,由于 @change 事件未被触发,系统无法获取滑动后更新的值,因此实际获取到的仍然是滑动前的原始值。

解决方案:
picker-view 上增加属性: immediate-change="true"
immediate-change:是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件。

注意事项:
也就是说 uniapp的picker-view 组件在小程序上都会存在这种问题,根据我们的实际业务场景来使用immediate-change属性,请查看picker-view组件详细介绍

0 关注 分享

要回复文章请先登录注册