收藏
回答

picker-view多级联动时,重置列表数据并设置value会触发bindchange ?

picker-view在做多级联动时,通过Array.splice方法修正数据并重置value,会触发 change 方法,导致数据错误

第一次修改第一列,第二列的数据为理想数据,第二次修改第一列,就会多次触发change方法

通过push的形式不会触发change

代码片段:https://developers.weixin.qq.com/s/hymR1imB79mC

最后一次编辑于  2020-12-02
回答关注问题邀请回答
收藏

3 个回答

  • 路振振
    路振振
    2021-07-13
    // 20ms 依然会有触发情况,所以索性设置大点间隔
    if (Date.now() - this.data.timestamp < 100) {
        this.setData({ timestamp: Date.now() })
        return
    }
    this.setData({ timestamp: Date.now() })
    
    // 其他逻辑
    
    2021-07-13
    有用 1
    回复
  • 小辉
    小辉
    2022-03-04

    value的值如果是从[1, 4, 5]到[1, 2, 4] 这样的是没问题,但是如果是从[1, 14, 5]到[1, 2, 4]这个时候就会触发change事件,我现在的处理方式是先给value设置一个[0,0,0],然后再赋值正常的值,这样就不会触发change事件, 这样会闪一下,最好是加个loading效果,这也不是最好的处理方式,目前先这样用着了

    2022-03-04
    有用
    回复
  • 朝酒晚舞
    朝酒晚舞
    2020-12-02

    https://developers.weixin.qq.com/community/develop/article/doc/0000643f674fa81a18a92b37455413

    2020-12-02
    有用
    回复 3
    • 任性༄🍎
      任性༄🍎
      2020-12-02
      需求不一样,我需要的是一个可跨天且不可选择当前时间之前的时间选择器,当从今天之后的日期切换到今天时,小时和分钟需要把当前时间之前的给剪切掉,并自动选择到相对应的时间上,现在出现的问题是 剪切并设置value时,会触发change事件,导致数据不理想
      2020-12-02
      回复
    • 乐乐
      乐乐
      2021-05-02回复任性༄🍎
      你有木有解决呢 我也是这个需求 现在头要秃了
      2021-05-02
      回复
    • 小辉
      小辉
      2022-03-04回复乐乐
      先设置一个默认值,再进行赋值就好了
      2022-03-04
      回复
登录 后发表内容
问题标签