<el-table-column v-for="(item, index) in colunmName" :key="index" :label='item'>
<!-- 数据的遍历 scope.row就代表数据的每一个对象-->
qwq
<template slot-scope="scope">
<span>{{scope.row.years[index].num}}</span>
</template>
</el-table-column>
</el-table>
?这个v-for只是 columnName,比如下面只有2020 2021
scope则是该行的
相当于是分的很开
大数组.forEach ( item? => 此时item是scope
小数组的length是columnName取的。也就是表头实际上只是用了index,实际上不相干
:key="index" :label='item' 这里的item只有那个“2020”
核心还在scope里~
this.staticData=[
{
date:'qwq',
years:[{
date:'2020',
num:100,
},{
date:'2020',
num:100,
},],
year2:[{
'2020':50,
'2021':100,
'2022':200,
}]
},
{date:'qwq'},
{date:'qwq'}
]
this.colunmName=[]
this.staticData[0].years.forEach(item=>{
this.colunmName.push(item.date+'')
})
注意 上面这个数据不行 找了半天发现是数据不全
我nm。。。
起码要这样才行,上面给自己留个错误提示吧‘ 效率好低
this.staticData=[
{
date:'12345',
years:[{
date:'2020',
num:100,
},{
date:'2020',
num:100,
},],
year2:[{
'2020':50,
'2021':100,
'2022':200,
}]
},
{date:'2345',
years:[{
date:'2021',
num:100,
},{
date:'2020',
num:100,
},],
},
{date:'12345',
years:[{
date:'2020',
num:100,
},{
date:'2020',
num:100,
},],}
]
|