el-table,el-table-column v-for循环时用v-if加key仍然错误的原因

有时候遇到加了唯一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也不会错位了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值