您好,登錄后才能下訂單哦!
這篇“微信小程序如何使用setData修改數組中的單個對象 ”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“微信小程序如何使用setData修改數組中的單個對象 ”文章吧。
習慣使用Vue或者React這類框架的開發者們,肯定不會對修改data內中數組的單個對象而煩惱,因為這些框架已經幫我們很好的處理了這個問題,并且在文檔上也寫的非常清楚。
比如要求是有一個數組存放了購物車的商品信息,而你在購物車內修改了單個商品的期望購買數量后,我們就要動態的更新這個單個對象的購買數量值,如果在小程序里我們會怎么做呢?
如果你按照Vue的寫法來實現的話,不出意外會失敗。而微信小程序也只給我們提供了一個setData方法,這個方法是使用鍵值對的形式對數據進行修改,例如:
this.setData({name : 'leon'})
回到我們剛剛的例子里,這時候,如果你想修改單個商品的數量信息,應該怎么寫?
首先展示一種錯誤的寫法:
Page({data: {array: [{text: 'init data'}],},changeItemInArray: function (index) {this.setData({'array['+index+'].text':'changed data'})}})
如果這樣動態的寫index,很顯然,這樣是無法使用在對象的key中的,我相信小程序的新手開發者可能嘗試過這樣的寫法。
那么正確的寫法究竟是怎么樣的呢?
changeItemInArray: function (index) { // 提前準備好對象var item = this.data.list[index] item.count = 100 // 依舊是根據index獲取數組中的對象var key = "list["+ index + "]" this.setData({// 這里使用鍵值對方式賦值key: item}, function () {})}
以上就是關于“微信小程序如何使用setData修改數組中的單個對象 ”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。