微信小程序WX:关键的详细介绍
官方的个人感受的例子不太清楚,官方解释如下:
WX:关键
如果在列表中的位置的物品会动态地改变或新项目添加到列表中,并希望保持自己的身份和国家列表中的项(输入,如处于选中状态),需要使用WX:键指定一个独特的列表项的识别。
WX的价值:关键是提供两种形式
字符串表示for循环数组中项的属性。该属性的值必须是列表中唯一的字符串或数字,不能动态更改。
保留关键字*表示for循环中的项本身,它要求项本身是唯一的字符串或数字,例如:
当数据发生变化时,抹灰层rerendered,关键的组件将被修正。该框架将确保他们重新排序,而不是重现,从而保证组。
该块保持自己的状态,提高了列表渲染的效率。
如果你不提供WX:钥匙,你将报告一个警告,你可以选择如果你知道它是静态的忽略列表,或者你没有注意顺序。
示例代码:
{项目}
开关
添加到前面
{项目}
添加到前面
页({
数据:{
objectarray:{
{编号:5,独特的'unique_5},
{编号:4,独特的'unique_4},
{编号:3,独特的'unique_3},
{编号:2,独特的'unique_2},
{编号:1,独特的'unique_1},
{编号:0,独特的'unique_0},
},
numberarray:{ 1, 2, 3,4 }
},
开关:函数(e){
const的长度= this.data.objectarray.length
对于(让i = 0;i <长度;+ i){
const x = math.floor(Math.random()*长)
const y = math.floor(Math.random()*长)
const温度=这个数据。objectarray {X}
这个数据。objectarray {X} =这个数据。objectarray {是}
这个数据。objectarray { Y } =温度
}
this.setdata({
objectarray:this.data.objectarray
})
},
addtofront:功能(e){
const的长度= this.data.objectarray.length
this.data.objectarray = { {编号:长度、独特:'unique_ +长度} } .concat(这个数据。objectarray)
this.setdata({
objectarray:this.data.objectarray
})
},
addnumbertofront:功能(e){
this.data.numberarray = { 1 } this.data.numberarray.length .concat(这个数据。numberarray)
this.setdata({
numberarray:this.data.numberarray
})
}
})
在这里写一个人了解什么是错的,希望大家指正:例如,如果没有WX:键,选择一个按钮,改变其顺序或添加选项,选择按钮,按按钮更改订单,总是会在固定的座位,如果有WX:重点对列表或其他标签,相反可以改变顺序或添加项目
谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持。