key 列表身份标识
最后更新:2026-10-22
key 列表身份标识
key 是 v-for 的身份标识:帮助 Vue 精确复用/重建节点,保证列表增删时的状态正确。
| 分组 | 内置组件与元素 |
|---|---|
| 类型 | 特殊属性 |
| 作用域 | 模板 |
| Vue 版本 | 3.0+ |
| SSR 支持 | 支持 |
📝 语法
<li v-for="item in items" :key="item.id">{{ item.name }}</li>
⚙️ 参数
| props | 唯一且稳定的值(推荐数据 id;不要用索引) |
|---|
▶ 示例
修改下面的代码,在预览区实时查看效果:
输出:
反序后列表正确重排,输入框等状态不会串到别的行。
💡 要点
⚠️ 注意 用索引当 key 是常见错误:列表插入/删除后,Vue 会错误复用节点,输入内容/动画会串行。
ℹ️ 说明 key 也用于强制重建:给组件一个会变化的值即触发重新创建。
💡 提示 稳定 id 优先;没有 id 时可用业务唯一字段,最差才用索引。
🏷️ 相关内置组件与元素
💡 相关案例
更多案例即将上线。
📚 相关教程
❓ 常见问题
Q 不写 key 会怎样?
A Vue 用就地复用策略并给出警告:简单列表看似正常,增删/排序时会出错。
Q key 必须全局唯一吗?
A 只需在同一个列表内唯一。
Q 能强制重新渲染组件吗?
A 可以:给组件绑一个会变的值,变化即销毁重建。