关于 vue 的 v-for key 的问题

1 天前
 freezebreze
interface item  {
    config1 : any
    config2 : any
    config3 : any
    config4 : any
    config5 : any
    config6 : any
    config7 : any
}
const obj = reactive<item[]>([])

有这样的一个对象,我 v-for 用数组下标做 key 值,有一个拖拽操作,会交换这两项在数组中的位置,但是视图并没有刷新,数据是更新了的,是 key 的问题吗,是的话,怎么解决? item 里没有值适合做 key

352 次点击
所在节点    前端开发
5 条回复
vace
1 天前
不会,没 key 不写就行了,只影响 diff 效率。可以 去 https://play.vuejs.org 贴最小可执行代码。
zblongfei
1 天前
可以自己生成一个唯一 id
v21984
1 天前
就是是 key 的问题,根据数组提前生成唯一 id 用作 key
sixi712
1 天前
确实是 key 的问题,没有合适的值做 key 的话你就 json.stringify 一下 item ,你就会得到一个巨大的 key🤣
gzyguy
1 天前
map 一下数组,把下标放到 item 里面当 key ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1080986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX