重要代码:
myList是动态列的表头名称,
readList是需要遍历的动态内容
myList:{
[name:'动态列1'],
[name:'动态列2']
}
readList:{
[name:'动态列1',value:''],
[name:'动态列2',value:'']
}
prop值为readList对应的value值
<el-table-column
v-for="(item, index) in myList"
:key="index"
:label="item.name"
align="center"
:prop="`readList.${index}.value`"
>
</el-table-column>
完整代码:
<el-table
:data="exportForm.exportData"
:key="exportTableKey"
row-key="index"
ref="exportTable"
id="out-table"
>
<el-table-column prop="fix_first" label="固定列1" align="center">
</el-table-column>
<el-table-column prop="fix_second" label="固定列2" align="center">
</el-table-column>
//动态列 prop即为每一个item里的readList对应的value值
<el-table-column
v-for="(item, index) in myList"
:key="index"
:label="item.name"
align="center"
:prop="`readList.${index}.value`"
>
</el-table-column>
</el-table>
js:
如果后端传的动态列是按顺序传送的,也可以直接拿readList里的name来渲染表头
data(){
exportForm:{
//后端传的数据
exportData:{
[
//固定列
fix_first:"",
fix_second:"",
//动态列
readList:{
[name:'动态列1',value:''],
[name:'动态列2',value:'']
}
]
}
}
//表头渲染
myList:{
[name:'动态列1'],
[name:'动态列2']
}
}