1. 程式人生 > >小程式setData方法修改data中物件或陣列的屬性值

小程式setData方法修改data中物件或陣列的屬性值

開發微信小程式時,使用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。