收藏
回答

picker-view 的bindchange响应慢

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

- 需求的场景描述(希望解决的问题)

使用picker-view自定义列表选择器,bindchange回调响应比较慢,需要等到滚动完全结束,才会触发,影响操作体验

- 希望提供的能力

希望picker-view 的 bindchange回调响应和picker组件一样,能够及时触发


===========================

请问官方何时对这个问题提供解决方案呢?

最后一次编辑于  2018-09-26
回答关注问题邀请回答
收藏

6 个回答

  • 天💤罒嬜
    天💤罒嬜
    2018-09-02

    遇到同样的问题,在测试的时候快速的点击“确认”按钮,没办法显示正确的数据,楼主解决了么

    2018-09-02
    赞同 2
    回复 1
    • johon
      johon
      2018-09-03

      我这边也没有办法,只能等官方处理。之前反馈后说是在评估中。。。

      2018-09-03
      回复
  • teo~
    teo~
    2018-08-07

    这个功能确实需要解决!!!

    在自定义中使用pickerview时,滚动未完全停止时,其它操作会导致pickerview返回不了正确数值(滚动效果未完成?)

    2018-08-07
    赞同 2
    回复
  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    2018-07-27

    你好,请提供出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-07-27
    赞同
    回复 2
    • johon
      johon
      2018-07-28

      代码片段:wechatide://minicode/y5Ontem37Vt1

      使用picker-view模拟了一个弹框选择日期(实际应用场景不限于日期选择,因此不能直接用picker来做),由于bindchange的事件触发是在滚动停止后才会触发,这就导致,如果在滚动过程中,点了确定,选择的日期时间就与picker-view的不一致。


      问题重现操作:点击”选择“,拖动弹出框中的日期,在滚动未停止 前,点击”确定"


      2018-07-28
      1
      回复
    • Super小兵
      Super小兵
      2019-04-14回复johon

      我也是有这个问题,bindchange响应太慢,感觉有600ms的延迟。

      bindpickstart 和 bindpickend 无法带出 e.detail.value 的值,所以对这个选择业务场景没有帮助

      2019-04-14
      1
      回复
  • 迷人的幽幽😛
    迷人的幽幽😛
    2018-11-20

    请问这个问题目前解决了吗?

    2018-11-20
    赞同
    回复 2
    • johon
      johon
      2018-12-10

      piker-view的说明文档中,多了bindpickstart和bindpickend两个事件监听

      2018-12-10
      回复
    • Aaron
      Aaron
      2019-08-12回复johon
      我的picker-view-column有三个值时分秒,当bindpickend触发后,还在继续滚动
      2019-08-12
      回复
  • Dawn
    Dawn
    2018-08-06

    有没有好的解决方案,触发bindchange  callback太慢了

    2018-08-06
    赞同
    回复 3
    • johon
      johon
      2018-08-07

      已经向官方提出两个方案了,只能等官方看了

      2018-08-07
      回复
    • Dawn
      Dawn
      2018-08-07

      我做的功能是,有两列,右边的数据是根据左边的类给的,有没有可能在左边滑动的时候,右边的禁止滑动。


      2018-08-07
      回复
    • johon
      johon
      2018-08-07回复Dawn

      这周官方已经有在评估这个需求了,内容如下:“picker 提供 bindchangestart 和 bindchangeend 用于监听滑动的开始和结束的需求” 我们只能耐心等待了

      2018-08-07
      回复
  • 白开水
    白开水
    2018-07-30

    我明白的意思。可否举几个具体的场景的例子说明 bindchange回调响要等到滚动完全结束才会触发 影响体验。

    2018-07-30
    赞同
    回复 1
    • johon
      johon
      2018-07-30回复johon

      由于没有提供相应 的事件来判断是否已经滚动结束,所以以我提供的demo为例,如果用户提前点了“提交”完成了选择,关闭了选择器,那么就会导致得到的数据与实际操作不符。所以其实,归根到底,还是由于组件没有提供可以判断的条件,以致于无法对用户的操作做禁止处理而带来了问题。所以,这个问题我希望得到的解决方式有两种:

      1、能够得到和picker一致的响应效率

      2、组件可以提供一个可以判断的依据,能让我判断滚动是否结束,如果滚动未结束,则不去允许触发点”确定“完成选择关闭选择器的操作。

      2018-07-30
      回复
登录 后发表内容