天天看点

Vue中使用v-for警告:呈现的组件列表应该有显式的键值!

在vue中使用v-for渲染数据初始代码:

<divider v-for="item in list">{{item.name}}</divider>
           

遇到警告:

(Emitted value instead of an instance of Error) <divider v-for="item in list">: component lists rendered with v-for should have explicit keys.

<divider v-for="item in list">:用v-for呈现的组件列表应该有显式的键值

 虽然此警告并不影响数据的正常渲染,但是每次F12检查页面的时候,看到黄黄的一坨警告,心里是相当的膈应。

解决办法:

1、绑定索引值的方式

<divider v-for="(item,index) in list" :key="index">{{item.name}}</divider>
           

2、绑定item自身属性的方式

<divider v-for="item in list" :key="item.id">{{item.name}}</divider>
           

为什么要使用key:

为了给Vue一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,所以需要为每项提供一个唯一 key 属性。key属性的类型只能为 string或者number类型。