在js文件中的data数据如下
data: {
info:p[
{
name:"jack",
value:5
},
{
name:"tom",
value:2
},
{
name:"rose",
value:4
},
{
name:"lucy",
value:3
}
]
},
需要把对象数组中某一项里的某个值修改成我们想要的值,而在微信小程序或者支付宝小程序中,修改data中的值要使用setData,但是setData又只能使用key:value的形式来修改,所以解决办法可以如下
1.用一个变量,把需要修改项的键保存起来。
如
var key='info[1].name'//注意:此处的键必须为字符串格式
2.在setData时将变量写在[]里面。
如
this.setData({
[key]:'张三'
})
完整代码如下
Page({
data: {
info:[
{
name:"jack",
value:5
},
{
name:"jack",
value:5
},
{
name:"jack",
value:5
},
{
name:"jack",
value:5
}
]
},
onLoad() {
var key='info[1].name';
this.setData({
[key]:'张三'
})
},
});
在页面上遍历出修改过后的数据
微信小程序和支付宝小程序实现方法一致