setData优化建议

发布于 6 年前作者 yinchao3869 次浏览最后编辑 6 年前来自 ask

官网文档在使用setData()设置数组对象的某个元素的属性时,是这样的

Page({
  data: {
    array: [{text: 'init data'}],
  },
  changeItemInArray: function() {
    this.setData({
      'array[0].text':'changed data'
    })
  }
})

而在大多实际应用中 对数组中的某个元素的设置是动态的不可能写死

希望可以支持动态修改

4 回复
humin
humin2 楼6 年前

@白开水  这个跟

    this.data.array[index].text = ‘haha’;

    this.setData({

        array:this.data.array

    })

相比,性能有提高吗?

gangqiu
gangqiu3 楼6 年前

可以使用 ES6 的模版字符串

`array[${index}].text`

ywan
ywan4 楼5 年前

我是这样写的var a={}

a[‘ary[’+index+‘]’]=123

this.setData(a)

希望能帮到你