vue使用v-for循环时报错:[vue/require-v-for-key] Elements in iteration expect to have ‘v-bind:key‘ directives

 <tr v-for="item in Users">
       <td>{{item.name}}</td>
       <td>{{item.password}}</td>
       <td>{{item.identity}}</td>
 </tr>

使用该循环报错
在这里插入图片描述
将代码改为:

 <tr v-for="item in Users" :key="item">
                <td>{{item.name}}</td>
                <td>{{item.password}}</td>
                <td>{{item.identity}}</td>
            </tr>

即在v-for循环后加上:key=""。(注意冒号和前面的引号之间加一个空格)。Vue 2.2.0+的版本里,当在组件中使用v-for时,key是必须的
这是修改代码的解决办法
也可以在build处关闭eslint检测
或者更改vetur配置在vscode->首选项->设置->搜索(vetur)将
“vetur.validation.template”: true,
改成:false

补充:
发现按照第一种方法改代码后浏览器的控制台会报错(因为key值重复导致),虽然不影响运行,但难免有部分同学有强迫症,看着不舒服。
所以可以将代码在修改一下

 <tr v-for="(item,id) in Users" :key='id'>
                <td>{{item.id}}</td>
                <td>{{item.username}}</td>
                <td>{{item.password}}</td>
                <td>{{item.identity}}</td>
            </tr>

这里的id是获取的user对象中的一个属性,因为id是唯一标识的,用它来作为key就不会报错了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值