array:[{ text: '123' , checked: false , disabled: false },{ text: '123' , checked: false , disabled: false },{ text: '123' , checked: false , disabled: false },{ text: '123' , checked: false , disabled: false }] |
this .setData({ [ 'array[1].check' ]: true }) |
let key = 'array[' + 1 + '].checked' this .setData({ [key]: true }) |
都不生效,求大神帮忙看看
官方文档只说可以用第一种方法更改,没有说key可以作为一个变量名来进行setData,又可能是不支持
嗯,多谢,已经解决了
this
.setData({
'array[1].check'
:
true
})
key 不需要 [] 吧
不行的,已经试了好几种写法了,都不生效,
???
我项目中也有好些地方用到了局部更新,但是我的代码类似如下:
let selectedIndex = 1;
let updateData = {};
Reflect.set(updateData, `monthReports[${selectedIndex}]`, data);
// 其他需要更新的数据...
this
.setData(updateData);
官方文档提供的思路是可以解决修改局部数据的,刚才是我这边的问题
var arr=that.data.arr[index].checked
that.setData({
[arr]:true,
})
这样试试
多谢,已经解决了
请问
var arr=that.data.arr[index].checked
that.setData({
[arr]:true,
})
这样多级的数组为什么还是改不了
var arr=arr[index].checked
that.setData({}
[arr]:true,
]) 这样试试
let arr = this.data.addCartList[index].goodList[idx].checked;
this.setData({
[arr]: !this.data.addCartList[index].goodList[idx].checked
})
并没用
let arr = 'this.data.addCartList[index].goodList[idx].checked';