使用 Vue
v-for
指令时,我应该在 :key
属性中写什么来强制某些项目在列表更新时始终重新渲染?
当然,我可以在外部使用简单的整数计数器,并在每次渲染应始终重新渲染的元素时递增 1:
<MyItem v-for="..." :key="counter++" />
另一种不需要创建和存储计数器值的方法是生成唯一的 id,但问题是它会影响性能:
<MyItem v-for="..." :key="uuid4()" />
理想情况下,我想要一些简单的东西,例如将
key
设置为 null
来告诉 Vue 我始终希望重新渲染此组件:
<MyItem v-for="..." :key="null" />
那么在Vue中有没有办法做到这一点?
我认为你的问题在于反应性。如果你使用的是 Vue 3,你应该使用
ref
。我应该看看你的代码。发送您的代码。
如果要将数据传递给组件,请使用 v-model 组件:
https://vuejs.org/guide/components/v-model.html