解决方案
先用一个字符串变量表示var key = 'keys.user_no';
再将setData中该字符串变量用[ ]括起来。[key]
代码示例
一:data数据【对象】
data: {
keys:{
user_no: 1,
password: 2
}
},
设置操作
bindKeyInputuserno: function (a) {
var key = 'keys.user_no'
this.setData({
[key]: a.detail.value,
})
console.log(this.data.keys.user_no)
},
bindKeyInputpassword: function (a) {
var key = 'keys.password'
this.setData({
[key]: a.detail.value,
})
二:data数据【对象】
Page({
data: {
list: [
{
id: 0,
val: ""
},
{
id: 1,
val: ""
},
{
id: 2,
val: ""
}
]
}
})
设置操作
bindKeyInputuserno: function (a) {
var key = 'list[0].id'
this.setData({
[key]: a.detail.value,
})
console.log(this.data.keys.user_no)
},
bindKeyInputpassword: function (a) {
var key = 'list[0].val'
this.setData({
[key]: a.detail.value,
})
本文介绍了如何在微信小程序中使用setData方法有效地修改数组和对象。通过将数据转换为字符串,然后利用数组语法进行操作,可以实现对数据的精确更新。提供了针对对象和数组的代码示例,帮助开发者掌握这一技巧。
1543

被折叠的 条评论
为什么被折叠?



