我正在尝试为数组的每个对象生成一个 AccordionTab(来自 Primevue 的组件):
<Accordion>
<AccordionTab v-for="curso in cursos.curso" :key="curso.descripcion" :header="curso.descripcion">
{{ curso.descripcion }}
</AccordionTab>
</Accordion>
它实际上似乎按预期工作,但浏览器控制台为数组中的每个对象显示如下警告:
[Vue 警告]:检测到重复键:“Primero”。这可能会导致更新错误。
我已经检查过并且数组v-for
正在迭代,并且每个对象在指定为键的字段中都有不同的值,那么为什么它会给出警告呢?
编辑: 这是我的 Vue Devtools 控制台的屏幕截图,显示了我在组件中拥有的数据:
如果我将代码更改为此,以索引为键:
<Accordion :multiple="true">
<AccordionTab v-for="(curso, index) in cursos.curso" :key="index" :header="curso.descripcion">
{{ curso.descripcion }}
{{ index }}
</AccordionTab>
</Accordion>
警告消失了,渲染的组件就是这个:
它再次表明数据实际上并没有重复,所以我仍然不知道警告来自哪里,也许它可能来自 Primevue 的组件实现。