微信小程式 wx key詳細介紹

2021-08-06 04:46:22 字數 2847 閱讀 6915

個人感覺官方給出的例 子不是很明確,官方解釋如下:

wx:key

如果列表中專案的位置會動態改變或者有新的專案新增到列表中,並且希望列表中的專案保持自己的特徵和狀態(如 中的輸入內容,的選中狀態),需要使用 wx:key 來指定列表中專案的唯一的識別符號。

wx:key 的值以兩種形式提供

字串,代表在 for 迴圈的 array 中 item 的某個 property,該 property 的值需要是列表中唯一的字串或數字,且不能動態改變。

保留關鍵字 *this 代表在 for 迴圈中的 item 本身,這種表示需要 item 本身是乙個唯一的字串或者數字,如:

當資料改變觸發渲染層重新渲染的時候,會校正帶有 key 的元件,框架會確保他們被重新排序,而不是重新建立,以確保使組

件保持自身的狀態,並且提高列表渲染時的效率。

如不提供 wx:key,會報乙個 warning, 如果明確知道該列表是靜態,或者不必關注其順序,可以選擇忽略。

示例**:?

12

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

<switchwx:for="}"wx:key="unique"style="display: block;"> }

switch

add to the front

<switchwx:for="}"wx:key="*this"style="display: block;"> }

add to the front

page(,

,

,

,

,

,

],

numberarray: [1, 2, 3, 4]

},

switch:function(e)

this.setdata()

},

addtofront:function(e) ].concat(this.data.objectarray)

this.setdata()

},

addnumbertofront:function(e))

}

})

這裡寫下個人的理解,有什麼不對的地方希望大家指正:以為例,如果沒有wx:key,選中其中的某個按鈕的時候,改變其順序 或新增選項的時,選中的按鈕時不回跟隨 上個按鈕改變順序的,會一直在固定位子,如果如果有wx:key則相反,適用於列表或其他標籤可以改變順序或新增專案的情況

微信小程式 wx key

在實際開發過程中遇到 warning now you can provide attr wx key for a wx for to improve performance.上網查詢資料與檢視官方文件發現原因大致如下 官方解釋 wx key 如果列表中專案的位置會動態改變或者有新的專案新增到列表中,...

微信小程式wx key

1 wx key 字串 這個 字串 代表在 for 迴圈的 array 中 item 的某個 屬性 該 屬性 的值需要是列表中唯一的字串或數字,且不能動態改變。用於被遍歷的元件需要多個屬性的時候。data 2 wx key this 保留關鍵字 this 代表在 for 迴圈中的 item 本身,這...

微信小程式 wx key

上網查詢資料與檢視官方文件發現原因大致如下 官方解釋 wx key 如果列表中專案的位置會動態改變或者有新的專案新增到列表中,並且希望列表中的專案保持自己的特徵和狀態 如 中的輸入內容,的選中狀態 需要使用 wx key 來指定列表中專案的唯一的識別符號。網上資料 wx key 的值以兩種形式提供 ...