微信小程序 setData 更新数据
注意:以下代码由 chatGPT 生成。
直接设置数据
Page({
data: {
count: 0
},
incrementCount() {
this.setData({
count: this.data.count + 1
});
}
});
更新对象中的特定属性
Page({
data: {
user: {
name: '小明',
details: {
age: 18,
address: '北京'
}
}
},
updateUserDetails() {
this.setData({
'user.details.age': 20,
'user.details.address': '上海'
});
}
});
更新数组中的特定元素
Page({
data: {
items: [1, 2, 3, 4, 5]
},
updateItem() {
let index = 2;
let newValue = 10;
this.setData({
[`items[${index}]`]: newValue,
[`items[3]`]: 20
});
}
});
更新数组中对象的特定元素
Page({
data: {
itemList: [
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
{ id: 3, name: 'Item 3' }
]
},
updateUserList(){
this.setData({
'itemList[0].name':'hello'
})
}
});
动态设置键名
Page({
data: {
prefix: 'user_',
user_id: 1,
user_name: '小红'
},
updateUser() {
let key = 'name';
this.setData({
[`${this.data.prefix}${key}`]: '小蓝'
});
}
});