版权声明:每次关键时刻我都会掉链子,我知道重要时刻我都会发挥失常,所以我会付出150%的努力,即使只能发挥60%水平,也能拿到90分! https://blog.csdn.net/qq_16371909/article/details/82837440
开发微信小程序时,使用setData修改data中数据时,针对各种情况的解决方案如下:
//示例data:
data:{
code:'9527',
baseInfo:{
name:'夏尔',
age:19
},
family:[{
name:'大头爸爸',
age:'46'
},{
name:'美丽妈妈',
age:'45'
}]
}
一、直接修改data的某个属性
this.setData({
code:'007'
})
二、修改data里的数组或对象的属性
this.setData({
'baseInfo.age':24
})
三、根据条件有选择性的改变(重点)
假设某种情况要根据条件改变某个特定值的某个属性,那么就需要先将要改变的属性转换成字符串,再用中括号括起来就可以了。
//此例假设改变对应index的某个属性值
var temp_str='this.data.family['+index+'].age';
this.setData({
[temp_str]:44
});
之前公司开发小程序的时候遇到的这个问题,找官方文档反正没看见,可能是我眼瞎,参考了【一丝墨】的文章,原文链接:https://blog.csdn.net/yisimo/article/details/79453896。