关于数据绑定的问题,怎去修改当前page data对象中的数组对象中的某一个?
发布于 7 年前 作者 natian 10144 次浏览 来自 问答

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

3 回复

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

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

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

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

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