收藏
回答

组件observers监听中调用setData无效,除非用setTimeout

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug Component observers 工具 v1.02.1907300 2.6.1

我们在普通页面上引用了一个自定义的 component,页面 JS 中的数据更新触发了 component 里的 observers,但是在 observers 中对数据再次加工并显示的时候,调用 setData 应用数据修改没有生效,只有在 setTimeout 中调用 setData 才生效。

能帮忙看下这是什么原因导致的吗?是 API 本身的局限还是 bug?谢谢。

开发者工具:v1.02.1907300

基础库:2.6.1

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

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

9 个回答

  • .
    .
    2021-01-18

    到2021年一月中旬还是有这个bug

    2021-01-18
    有用 2
    回复
  • 依、说
    依、说
    2022-04-21

    2022.4.21这个bug还在

    2022-04-21
    有用 1
    回复
  • 暮北林
    暮北林
    2021-04-16

    2021.4.16还是有这个bug

    2021-04-16
    有用 1
    回复
  • 啥时给
    啥时给
    2020-07-14

    2020年中旬问题还在

    2020-07-14
    有用 1
    回复
  • 小姑娘
    小姑娘
    2023-12-08

    我的更离谱 使用setTimeOut也不行

    2023-12-08
    有用
    回复 1
    • ᯤ⁵ᴳ⁺
      ᯤ⁵ᴳ⁺
      03-13
      别用箭头函数,this会变成undefined
      03-13
      回复
  • 小李
    小李
    2023-09-18

    2023-09-18 遇到这个问题了,留个纪念,settimeout 解决 官方能告诉为什么吗

    2023-09-18
    有用
    回复
  • Lynch Bel
    Lynch Bel
    2023-01-09

    插眼,2023年1月9日15:42:34,Bug还在。

    2023-01-09
    有用
    回复
  • null
    null
    2019-09-05

    好像是bug,我也遇到类似的了,把开发工具回退上个版本就没问题了


    2019-09-05
    有用
    回复 1
    • Passenger
      Passenger
      2019-09-05
      如果只影响工具倒是小事,现在不知道会不会影响线上版本,保险起见,我用了setTimeout
      2019-09-05
      1
      回复
  • 是小白啊
    是小白啊
    2019-09-02

    麻烦提供能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-09-02
    有用
    回复 2
    • Passenger
      Passenger
      2019-09-02
      你好,代码片段如下:https://developers.weixin.qq.com/s/igXn84mF71bv
      2019-09-02
      回复
    • 音凉
      音凉
      2019-09-05
      楼主的问题,追踪到了吗,我这几天在小米8也遇到了类似的问题
      2019-09-05
      回复
登录 后发表内容
问题标签