1. 程式人生 > >微信小程式對於資料的區域性更新

微信小程式對於資料的區域性更新

Data中的一個數組

this.setData({
nameArray: [{ id: 1, name: 'rob', sex: 'man', age: 16, grade: '高一' },
{ id: 2, name: 'mike', sex: 'man', age: 17, grade: '高二' },
{ id: 3, name: 'jodie', sex: 'women', age: 18, grade: '高三' },
{ id: 4, name: 'kobe', sex: 'man', age: 16, grade: '高一' },],
})

如果只想改變其中的一個物件的某一屬性,比如id為2的年級改為’大一’,直接setData整個陣列的話,就需要重新獲取資料,使用者體驗極差,所以要區域性的改變這個屬性,直接setData這個屬性的話會報錯,微信小程式是不支援的:
this.setData({ nameArray[1].grade:'大一' })

這種方法是錯誤的
需要使用一個變數來輔助改變,達到區域性重新整理的效果:

var changeOne = "nameArray[" + 1+ "].grade";
this.setData({
[changeOne ]:'大一'
})

結果如圖
在這裡插入圖片描述
可以用於點贊、刪除等操作,只需要傳遞index即可。