[英]VueJS: v-for with dynamic component strange behavior
我的組件之一具有以下語法:
<event-item v-for='(event, index) in events'
:is='eventComponent(event)'
:key="'event-' + index"
:event='event'>
</event-item>
列表在第一時間正確呈現。
但是,當我使用events.unshift(event)向事件數組中添加新元素時,會發生奇怪的行為:使用索引為n +的事件的某些屬性來呈現索引為n的事件的event-item組件。 1 。
如果我使用events.push(event) ,也不會發生此行為,但是使用它不是一種選擇,因為我需要在列表的開頭插入新事件。
發生這種情況,因為的key
,你正在使用和事實,你是unshift
ING項目從數組中。 由於已使用該密鑰,因此該組件不會重新呈現。
您有2個選擇:
我個人在項目中有一個uuid
包,但是您可以執行以下操作:
event.id = '_' + Math.random().toString(36).substr(2, 9)
然后在組件v-for
循環中:key="event.id"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.