有时候遇到加了唯一key仍然el-table错误,一般这种情况通常是在el-table-column外面嵌套了其他标签。
有时我们需要v-for循环一个数组,然后取每个值(object)中的一个属性(array)再去v-for el-table-column的时候,如果通过值控制el-table-column的v-if,尽管加了:key,但是仍然会出现列错位。比如
<template lang="pug">
el-table(ref="leftTable" :data="previewData")
span(v-for='(chart,index1) in targetList' :key=`${targetChart}${index1}`)
el-table-column(v-for='(field,index2) in chart.fieldList' v-if='field.isView'
:label="field.fieldAlias" :key=`${index1}0${index2}`)
</template>
此时应该去掉span,然后在页面写
computed: {
targetFieldList() {
let kkk = []
this.targetList.forEach((chart) => {
kkk = kkk.concat(chart.fieldList)
})
return kkk
}
},
然后el-table-column用targetFieldList遍历,加了v-if也不会错位了。