小程式setData方法修改data中物件或陣列的屬性值
阿新 • • 發佈:2018-12-17
開發微信小程式時,使用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。