https://uniapp.dcloud.net.cn/tutorial/vue-basics.html#key
当 Vue 正在更新使用 v-for 渲染的元素列表时,它默认使用“就地更新”的策略。如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序,而是就地更新每个元素,并且确保它们在每个索引位置正确渲染。
为什么要使用:key
:如果列表中项目的位置会动态改变或者有新的项目添加到列表中,并且希望列表中的项目保持自己的特征和状态(如 input 中的输入内容,switch 的选中状态),需要使用 :key
来指定列表中项目的唯一的标识符。
:key
的值以两种形式提供:
- 使用 v-for 循环 array 中 item 的某个 property,该 property的值需要是列表中唯一的字符串或数字,且不能动态改变。例如:
<view v-for="(item, index) in items" :key="item.id">
//...
</view>
- 使用 v-for 循环中 item 本身,这时需要 item 本身是一个唯一的字符串或者数字。例如:
<text v-for="(item, index) in 10" :key="item">
//...
</text>