vue使用v-for指令的时候为什么不建议用数组的下标index作为key

key用于渲染对象的排序,所以必须是用唯一标记的值。那index作为数组的唯一标识为什么不建议用来作为key呢?
得现在说说数组的特性,数组是以堆栈的形式来存在输入元素的。在直接push()一个新元素的时候是直接加到最末尾。在删除一个index=3元素的时候,下一个元素会“补上”来,使用这个index,删除后index=3的对象就变成了了原来的下一个对象。
那么在业务处理过程中,如果使用v-for加载了一组checkBox,根据业务情况,先选中了index=3的checkBox对象后,又需要删除这个选项,添加一个新的选项。那么这时候,原本index=4的那个对象就会变成被选中的状态。
这种错误其实也是可以接解决的,就是在删除index=3的选项是,把checked的元素清空。但是这其实是一个可以避免的情况,只需要不适用数组下标作为key就行了。
这只是我的一个思考,下次有空再补充代码吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值