收藏
回答

使用小程序提供的 MobX 绑定库,如果字段是数组,则不能正常工作? 求助管理员

小程序的 MobX 绑定辅助库,安装 mobx-miniprogram 和 mobx-miniprogram-bindings :


其中的字段: unitsArray 初始化状态是个长度为0的数组,后面会动态的修改。


在unitList.js 文件中绑定store中的字段 unitsArray, 和action  set_unitsArray


调用action  set_unitsArray 去更新 store中的字段 unitsArray


输出刚才更新的unitsArray 字段,结果是下面的东西。不是我传入的unitsArray 的数据



....(数组太长,中间截图就省略了)


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

4 个回答

  • 小程序技术专员-binnie
    小程序技术专员-binnie
    2019-11-17

    为了提升性能,在 store 中的字段被更新后,并不会立刻同步更新到 this.data 上,而是等到下个 wx.nextTick 调用时才更新。

    2019-11-17
    有用
    回复 1
    • MasterGee
      MasterGee
      2019-12-18
      上面截图中题主已经指定wx.nextTick回调了啊?
      2019-12-18
      回复
  • IAMCKQ
    IAMCKQ
    2020-07-17
    获取得到的数组,再 this.data.arr.slice();
    


    2020-07-17
    有用 2
    回复
  • 木 灬 可可
    木 灬 可可
    2020-01-08

    大哥 你是怎么解决的 我现在也是遇到这个问题 数组取不了值

    我也是在 wx.nextTick回调了

    2020-01-08
    有用
    回复
  • 采寻网络科技
    采寻网络科技
    2019-11-15

    同样的问题 一模一样

    2019-11-15
    有用
    回复 3
    • 木 灬 可可
      木 灬 可可
      2020-01-08
      你这个问题解决了吗
      2020-01-08
      回复
    • Maxwell Du
      Maxwell Du
      03-05回复木 灬 可可
      解决了,先使用slice获取到数组,操作完之后再一次性的重新设置这个字段即可
      03-05
      回复
    • Maxwell Du
      Maxwell Du
      03-05
      解决了,先使用slice获取到数组,操作完之后再一次性的重新设置这个字段即可
      03-05
      回复
登录 后发表内容
问题标签