收藏
回答

关于数据绑定的问题,怎去修改当前page data对象中的数组对象中的某一个?

问题模块
API和组件

比如我的data中有一个 数组test:[{"id":0,count:0},{"id":1,count:0},{"id";2,count:0}]  我用这个数组循环渲染出一个列表,当我需要点击列表的第n项时 ,使该数组的第n项发生变化该怎么做? this.setData({"test[0].count":2});使用这种发方法时  对象的key不可以时变量


最后一次编辑于  2017-03-27  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • 韬々
    韬々
    2017-03-27

    考虑使用 ES6的对象字面量语法:

    const index = 'test[0]'
    self.setData({
      [index]: {id: 'haha', count: 0}
    })


    2017-03-27
    赞同 11
    回复
  • 令力
    令力
    2017-03-27

    我是这样实现的,你可以参考下。

    let _test = this.data.test;
    _test[0].count = 2;
    this.setData({
        test: _test,
      })


    2017-03-27
    赞同
    回复
  • 错别字
    错别字
    2017-03-27

    我已经解决了谢谢大家,其实可以直接page.data 赋值,只是不能渲染到页面上去。看了一下文档发现setData函数的首要功能就是把数据从逻辑层渲染到视图层。所以先给计算Data然后在用setData渲染就解决了。

    2017-03-27
    赞同
    回复 1
    • Yoฉันคิดถึง
      Yoฉันคิดถึง
      2018-08-13

      这样渲染   会有点卡顿


      2018-08-13
      赞同
      回复