写小程序前端的时候发现的一个坑 不能直接this.setData({})里面不能用最直接的方法修改数组内的数据,必须把数组名转为字符串再用大括号[]包围,本人通过百度和自己实践发现有两种方式实现修改,下面附上代码.
第一种是我自己想的很简单方便 但是效率不是很高,如果数据量小也不会影响体验. 推荐使用.
1.比较简单我就不写代码了 直接把数组复制一份 然后修改 一下需要改的地方 再把这个数组赋值给原来的data.(看到不懂留言)
2.用文章开头提到的方法 比较麻烦 附上代码
var index=1; //数组下标
var number= 'list[' + index + ']'; //我this.data里有一个名为list的数组数据 不能直接list[index] 要转化为 'list[index]'
this.setData({
[number]: 999,//一定要用大括号包裹
})