小程序setData修改数组和对象
data数据
Page({
data: {
arrs:[
{ text: '0测试', value: 0 },
{ text: '1测试', value: 1 },
{ text: '2测试', value: 2 },
{ text: '3测试', value: 3 },
{ text: '4测试', value: 4 },
{ text: '5测试', value: 5 },
],
obj: {
id: "202346191613493564",
height: '20cm',
name: "测试obj"
},
}
)}
修改对象
1、[ ],中括号可加可不加,如果属性名存在就修改,不存在则添加该属性
this.setData({
'对象.属性名':属性值,
['对象.属性名']:属性值,
)}
//例子
this.setData({
'obj.newName': '新添加的名字',
'obj.name': '修改成盲盒',
['obj.height']: ' 修改了30',
})
2、如果项目中修改的属性名是由变量决定,要使用拼接字符窜的形式,并且一定要加 [] 中括号
注意:直接用1中的方式不会修改,只会把变量当做新的属性值添加进去
this.setData({
['对象.' + 变量]:属性值,
)}
//例子
let aa = 'name'
this.setData({
['obj.' + aa]: '我是通过变量修改的名字'
})
修改数组
与修改数组类似
1、[ ],中括号可加可不加,如果属性名存在就修改,不存在则添加该属性
this.setData({
'数组名[下标]':要修改的值,
['数组名[下标]']:要修改的值,
)}
//例子
this.setData({
'arrs[0].text': '修改了0',
['arrs[1].text']: '修改了1',
'arrs[3].name': '新添加了name',
})
2、如果项目中修改的下标是由变量决定,要使用拼接字符窜的形式,并且一定要加 [] 中括号
注意:直接用1中的方式不会修改,只会把变量当做新的属性值添加进去
this.setData({
['数组[' + 下标变量 + ']' ]:值,
)}
//例子
let index = 3
this.setData({
['arrs[' + index + '].text']: '我是通过变量修改的值'
})
总结
对于确定的数据直接写然后加引号,有变量的的需要拼接字符窜,然后外层加上中括号 []
可以教我写代码吗 大佬