收藏
回答

使用小程序提供的 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
    回复 1
    • 超姬不胖
      超姬不胖
      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
    有用
    回复 5
    • 木 灬 可可
      木 灬 可可
      2020-01-08
      你这个问题解决了吗
      2020-01-08
      回复
    • Maxwell Du
      Maxwell Du
      2021-03-05回复木 灬 可可
      解决了,先使用slice获取到数组,操作完之后再一次性的重新设置这个字段即可
      2021-03-05
      1
      回复
    • Maxwell Du
      Maxwell Du
      2021-03-05
      解决了,先使用slice获取到数组,操作完之后再一次性的重新设置这个字段即可
      2021-03-05
      回复
    • Kevin
      Kevin
      07-26回复Maxwell Du
      确实可以,但这样感觉好麻烦
      07-26
      回复
    • Vessless
      Vessless
      11-06
      题主中 uniArrays:[]  改为 uniArrays:{} ,在page中一样是数组形式
      11-06
      回复
登录 后发表内容
问题标签