



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【移動(dòng)應(yīng)用開發(fā)技術(shù)】「小程序JAVA實(shí)戰(zhàn)」小程序視圖之細(xì)說wx:key列表高級特
wx:key的高級特性。這個(gè)很重要,因?yàn)樵赼pp上經(jīng)常有上拉,下拉加載,我們?nèi)绻皇褂眠@個(gè)特性的很可能列表就亂了。源碼:/limingios/wxProgram.git中的No.8wx:key的高級特性。這個(gè)很重要,因?yàn)樵赼pp上經(jīng)常有上拉,下拉加載,我們?nèi)绻皇褂眠@個(gè)特性的很可能列表就亂了。源碼:/limingios/wxProgram.git中的No.8小程序的列表的渲染官方的闡述>/miniprogram/dev/framework/view/wxml/list.html演示wx:key>如果列表中項(xiàng)目的位置會動(dòng)態(tài)改變或者有新的項(xiàng)目添加到列表中,并且希望列表中的項(xiàng)目保持自己的特征和狀態(tài)(如input中的輸入內(nèi)容,
的選中狀態(tài)),需要使用wx:key來指定列表中項(xiàng)目的唯一的標(biāo)識符。wx:key的值以兩種形式提供字符串,代表在for循環(huán)的array中item的某個(gè)property,該property的值需要是列表中唯一的字符串或數(shù)字,且不能動(dòng)態(tài)改變。保留關(guān)鍵字*this代表在for循環(huán)中的item本身,這種表示需要item本身是一個(gè)唯一的字符串或者數(shù)字,如:當(dāng)數(shù)據(jù)改變觸發(fā)渲染層重新渲染的時(shí)候,會校正帶有key的組件,框架會確保他們被重新排序,而不是重新創(chuàng)建,以確保使組件保持自身的狀態(tài),并且提高列表渲染時(shí)的效率。wxKey.wxml<!wxKey.wxml-->
<view
class="container">
<switch
wx:for="{{objectArray}}"
wx:key="unique"
>
{{item.id}}
</switch>
<button
bindtap="switch">
Switch
</button>
<button
bindtap="addToFront">
Add
to
the
front
</button>
<switch
wx:for="{{numberArray}}"
wx:key="*this"
>
{{item}}
</switch>
<button
bindtap="addNumberToFront">
Add
to
the
front
</button>
</view>wxKey.js//wxKey.js
//獲取應(yīng)用實(shí)例
const
app
=
getApp()
Page({
data:
{
objectArray:
[{
id:
5,
unique:
'unique_5'
},
{
id:
4,
unique:
'unique_4'
},
{
id:
3,
unique:
'unique_3'
},
{
id:
2,
unique:
'unique_2'
},
{
id:
1,
unique:
'unique_1'
},
{
id:
0,
unique:
'unique_0'
},
],
numberArray:
[1,
2,
3,
4]
},
switch:
function(e)
{
const
length
=
this.data.objectArray.length
for
(let
i
=
0;
i
<
length;
++i)
{
const
x
=
Math.floor(Math.random()
*
length)
const
y
=
Math.floor(Math.random()
*
length)
const
temp
=
this.data.objectArray[x]
this.data.objectArray[x]
=
this.data.objectArray[y]
this.data.objectArray[y]
=
temp
}
this.setData({
objectArray:
this.data.objectArray
})
},
addToFront:
function(e)
{
const
length
=
this.data.objectArray.length
this.data.objectArray
=
[{
id:
length,
unique:
'unique_'
+
length
}].concat(this.data.objectArray)
this.setData({
objectArray:
this.data.objectArray
})
},
addNumberToFront:
function(e)
{
this.data.numberArray
=
[this.data.numberArray.length
+
1].concat(this.data.numberArray)
this.setData({
numberArray:
this.data.numberArray
})
}
})如果不加入wx:key=”unique”或者wx:key=”*this”進(jìn)行綁定的話,可能存在漂移的情況,這種問題很大,建議在for循環(huán)的時(shí)候都定義一個(gè)唯一的key。如果不加入wx:key=”unique”或者wx:key
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廠區(qū)混凝土道路施工方案
- 6年級下冊英語陜旅版第1單元
- 2025年銀行設(shè)計(jì)崗面試題及答案
- 2025年鄉(xiāng)鎮(zhèn)行政管理試題及答案
- 低保工作集中整治群眾身邊不正之風(fēng)和腐敗問題整改報(bào)告
- 地質(zhì)災(zāi)害計(jì)價(jià)定額
- 地球核心能量提取議案
- 工程制圖 第2版 教案 上 李茗 1緒論-5. 4看組合體的視圖
- 2025年鄭州財(cái)稅金融職業(yè)學(xué)院單招職業(yè)技能測試題庫必考題
- 2025年伊犁職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫帶答案
- 光催化分解水制氫
- 工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)使用手冊
- 高速鐵路設(shè)計(jì)規(guī)范(最新版)
- 25種全球最流行的管理工具
- 道德與法治-五年級(下冊)-《建立良好的公共秩序》教學(xué)課件
- 初中英語教學(xué)設(shè)計(jì)Its-time-to-watch-a-cartoon
- 2022年安徽高校教師崗前培訓(xùn)結(jié)業(yè)統(tǒng)考試題及參考答案
- 城市社區(qū)建設(shè)概論資料
- 數(shù)學(xué)-九宮數(shù)獨(dú)100題(附答案)
- 蘇教版四年級下冊科學(xué)全冊知識點(diǎn)總結(jié)
- 第三方單位考核管理辦法
評論
0/150
提交評論