溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信小程序如何使用setData修改數(shù)組中的單個(gè)對(duì)象

發(fā)布時(shí)間:2022-03-15 10:05:17 來源:億速云 閱讀:260 作者:iii 欄目:開發(fā)技術(shù)

這篇“微信小程序如何使用setData修改數(shù)組中的單個(gè)對(duì)象 ”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“微信小程序如何使用setData修改數(shù)組中的單個(gè)對(duì)象 ”文章吧。

微信小程序如何使用setData修改數(shù)組中的單個(gè)對(duì)象

習(xí)慣使用Vue或者React這類框架的開發(fā)者們,肯定不會(huì)對(duì)修改data內(nèi)中數(shù)組的單個(gè)對(duì)象而煩惱,因?yàn)檫@些框架已經(jīng)幫我們很好的處理了這個(gè)問題,并且在文檔上也寫的非常清楚。

比如要求是有一個(gè)數(shù)組存放了購物車的商品信息,而你在購物車內(nèi)修改了單個(gè)商品的期望購買數(shù)量后,我們就要?jiǎng)討B(tài)的更新這個(gè)單個(gè)對(duì)象的購買數(shù)量值,如果在小程序里我們會(huì)怎么做呢?

如果你按照Vue的寫法來實(shí)現(xiàn)的話,不出意外會(huì)失敗。而微信小程序也只給我們提供了一個(gè)setData方法,這個(gè)方法是使用鍵值對(duì)的形式對(duì)數(shù)據(jù)進(jìn)行修改,例如:

this.setData({name : 'leon'})

回到我們剛剛的例子里,這時(shí)候,如果你想修改單個(gè)商品的數(shù)量信息,應(yīng)該怎么寫?

首先展示一種錯(cuò)誤的寫法:

Page({data: {array: [{text: 'init data'}],},changeItemInArray: function (index) {this.setData({'array['+index+'].text':'changed data'})}})

如果這樣動(dòng)態(tài)的寫index,很顯然,這樣是無法使用在對(duì)象的key中的,我相信小程序的新手開發(fā)者可能嘗試過這樣的寫法。

那么正確的寫法究竟是怎么樣的呢?

changeItemInArray: function (index) { // 提前準(zhǔn)備好對(duì)象var item = this.data.list[index] item.count = 100 // 依舊是根據(jù)index獲取數(shù)組中的對(duì)象var key = "list["+ index + "]" this.setData({// 這里使用鍵值對(duì)方式賦值key: item}, function () {})}

以上就是關(guān)于“微信小程序如何使用setData修改數(shù)組中的單個(gè)對(duì)象 ”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI