微信小程序對於數據的局部更新

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即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章