我有一个数组,它使用v-for
. 我需要使用:key=""
否则 Vue 会抱怨。
我的数组没有唯一标识符,所以我使用索引作为键
我的循环
<card v-for="(item, index) in questions" :question="item" :key="index">{{item}}</card>
该数组具有可以具有相同内容的对象
[{name:"jimmy"}, {name:"billy bob"}, {name:"jimmy"}]
问题:一旦我操作数组,结果就变得非常不可预测。有时组件会正确呈现。有时一个新组件会出现在v-for
列表的中间,即使它已被推入数组。有时,在换档/弹出之后,所有旧组件都保留下来,而新推的组件不会出现。
代码
if(this.questions.length > 4) this.questions.shift()
this.questions.push({name:"willy jim"})
如果我item.name
用作键,只要没有重复的名称,它就可以正常工作。如果我使用item.name+index
或一些如此愚蠢的东西,整个事情都会变得疯狂......