Duplicate keys detected ‘‘. This may cause an update error問題(vue循環時key重復問題)


Duplicate keys detected ‘‘. This may cause an update error問題

 

問題描述:Duplicate keys detected: ‘6’. This may cause an update error,但模板組件可以正常渲染。
產生該問題的原因是出現了重復的key,主要分為如下兩種情況:
場景一:


報錯如下:

 

 

 

 

 

 

由圖可知,因為集合中的id有重復的值,當我們在 v-for 中使用id作為key時,即為報錯,修改為使用index索引作為key,如下:

<p v-for="(item, index) in list" :key="index">{{item.name}}</p>
1
場景二:

 

 

 


報錯如下:

 

 

 


分析: 從圖中代碼可以發現,我們使用的是索引index作為key,可還是出現了該問題。
問題產生原因: vue規定 “有相同父元素的子元素必須有獨特的 key。重復的 key 會造成渲染錯誤。” 官網鏈接

 

 

 


由於代碼中兩個for循環,p和span標簽在同一個父元素下,所以會出現該問題。

解決方案:
1.重命名key屬性,定義獨一無二的key,如下:

 

 

 

2.不要將多個for循環組件放在同一個父元素下,如下,嵌套一層div即可:

 

 

 

代碼位置: https://gitee.com/crazywsp/JavaImprove/blob/master/VueRepo/yarndemo03/src/components/ForTest.vue
————————————————
版權聲明:本文為CSDN博主「crazy_wsp」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_14994863/article/details/110674454


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM