You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在v-list项间添加分隔符时遇key错误,求解决方案

解决方案

问题出在Vue的v-for使用规则上:当通过<template>标签循环渲染多个元素时,key属性必须绑定在<template>本身上,而不是它内部的子元素(比如你的<v-list-item>)。

修改步骤很简单,只需要把key从<v-list-item>移到<template>标签即可,同时保留分隔符的唯一key:

<template v-for="(key, index) in filteredKeys" :key="index">
  <v-list-item>
      <v-list-item-content :class="{ 'blue--text': sortBy === key }">
          {{ key }} :
      </v-list-item-content>
      <v-list-item-content class="align-end" :class="{ 'blue--text': sortBy === key }">
          {{ item[key.toLowerCase()] }}
      </v-list-item-content>
  </v-list-item>
  <v-divider v-if="index < filteredKeys.length - 1" :key="`${index}-divider`"></v-divider>
</template>

关键修改说明

  • 把:key="index"绑定到<template>标签,这是Vue对<template v-for>的强制要求,用于标识每个循环块的唯一性
  • 移除<v-list-item>上的:key="index",避免重复绑定导致的报错
  • 保留<v-divider>的:key="${index}-divider",确保每个分隔符拥有独立的唯一标识,避免渲染混淆

内容的提问来源于stack exchange,提问作者Wael Matar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 00:25:54