- Duplicate keys detected: ‘2’. This may cause an update error.
大概意思就是:检测到重复的密钥:“2”。这可能会导致更新错误。
错误信息如下:
项目源代码:
<div
v-for="(item, index) in detailFields"
:key="index "
style="margin-left: 1px; " >
<flexbox v-if="item.field=='explainDescribe'" class="content-items" style="width:100%;float: left;background: #eaeaea; border: 1px solid #CCCCCC;min-height: 26px; line-height: 26px;margin:0px 0px -1px -1px;" align="stretch">
<div class="content-items-name" style=" width: 90px; margin: 0px 5px ; ">{{ item.label }}:</div>
<div class="content-items-value" >{{ detailData|formatedInfo(item.field,item.type) }}</div>
</flexbox>
</div>
报错原因: key值不唯一
解决:
仔细检查是否用了同一个数据循环且:key值相同,如果相同给第二个key随便加一个标记就可以,如下:
:key="index + ‘-label’ "
修改后
<div
v-for="(item, index) in detailFields"
:key="index + '-label' "
style="margin-left: 1px; " >
<flexbox v-if="item.field=='explainDescribe'" class="content-items" style="width:100%;float: left;background: #eaeaea; border: 1px solid #CCCCCC;min-height: 26px; line-height: 26px;margin:0px 0px -1px -1px;" align="stretch">
<div class="content-items-name" style=" width: 90px; margin: 0px 5px ; ">{{ item.label }}:</div>
<div class="content-items-value" >{{ detailData|formatedInfo(item.field,item.type) }}</div>
</flexbox>
</div>