小程序setData方法修改data中对象或数组的属性值

版权声明:每次关键时刻我都会掉链子,我知道重要时刻我都会发挥失常,所以我会付出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。

猜你喜欢

转载自blog.csdn.net/qq_16371909/article/details/82837440