前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue中v-for警告:Duplicate keys detected: '0'. This may cause an update error.

vue中v-for警告:Duplicate keys detected: '0'. This may cause an update error.

作者头像
4O4
发布2022-04-25 17:09:53
1.2K0
发布2022-04-25 17:09:53
举报
文章被收录于专栏:404404

vue中v-for警告:Duplicate keys detected: '0'. This may cause an update error.

代码

代码语言:javascript
复制
// HTML部分
<template>
    <ul>
        <li class="fl" v-for="(item,index) in l_tools" :key="index">{{ item.title }}</li>
        <li class="fr" v-for="(item,index) in r_tools" :key="index">{{ item.title }}</li>
    </ul>
</template>
代码语言:javascript
复制
// JS部分
export default {
  name: "Main",
  data() {
    return {
      l_tools:[
        { title: 'aaa', path: 'aaa' }
      ],
      r_tools:[
        { title: 'bbb', path: 'bbb' },
        { title: 'ccc', path: 'ccc' }
      ]
    }
  }
}

错误

代码语言:javascript
复制
// 控制台报错
[Vue warn]: Duplicate keys detected: '0'. This may cause an update error.

译文:检测到重复键:'0'。 这可能会导致更新错误。

很明显,是v-for的key重复导致的冲突。

解决

下面将两个v-for放在不同的元素下
代码语言:javascript
复制
// HTML部分
<template>
    <ul>
        <li class="fl" v-for="(item,index) in l_tools" :key="index">{{ item.title }}</li>
    </ul>
   	<ul>
        <li class="fl" v-for="(item,index) in r_tools" :key="index">{{ item.title }}</li>
    </ul>
</template>
修改key
代码语言:javascript
复制
// HTML部分
<template>
    <ul>
        <li class="fl" v-for="(item,index) in l_tools" :key="index">{{ item.title }}</li>
      	<li class="fl" v-for="(item,index) in r_tools" :key="'the' + index">{{ item.title }}</li>
    </ul>
</template>

控制台:世界和平!

总结

两个同级v-for的key不能相同。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-04-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • vue中v-for警告:Duplicate keys detected: '0'. This may cause an update error.
    • 代码
      • 错误
        • 解决
          • 总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档