此文章有最新地址:微信小程序利用setData對列表進(jìn)行局部刷新超詳細(xì)
應(yīng)用場景
在一個(gè)列表中,有n條數(shù)據(jù)蚪燕,采用上拉加載更多的方式,假如這個(gè)時(shí)候想對其中某一個(gè)數(shù)據(jù)進(jìn)行點(diǎn)贊操作奔浅,還能及時(shí)看到點(diǎn)贊的效果
解決方法
1馆纳、可以采用setData全局刷新,點(diǎn)贊完成之后汹桦,重新獲取數(shù)據(jù)鲁驶,再次進(jìn)行全局重新渲染,這樣做的優(yōu)點(diǎn)是:方便舞骆,快捷钥弯!缺點(diǎn)是:用戶體驗(yàn)極其不好,當(dāng)用戶刷量100多條數(shù)據(jù)后督禽,重新渲染量大會出現(xiàn)空白期(沒有渲染過來)
2脆霎、說到重點(diǎn)了,就是利用setData局部刷新
a.將點(diǎn)贊的id傳過去狈惫,知道點(diǎn)的是那一條數(shù)據(jù)
將點(diǎn)贊的id傳過去睛蛛,知道點(diǎn)的是那一條數(shù)據(jù)
b.重新獲取數(shù)據(jù),查找相對應(yīng)id的那條數(shù)據(jù)的下標(biāo)(一會方便替換之前渲染的列表中的那條數(shù)據(jù),index是不會改變的)
c.用setData進(jìn)行局部刷新
如圖即可
其實(shí)這個(gè)小操作對剛剛接觸到微信小程序的人來說應(yīng)該是不容易發(fā)現(xiàn)的忆肾,不理解setData還有這樣的寫法菠红。如果這篇文章對你有幫助,希望您也能加入我的qq群幫助更多需要幫助的小程序開發(fā)者:751741695