在ui框架中,表格通过:data来赋值,生成多行数据,一般列是固定的,不能改变,
想要实现动态改变列,可以通过循环
实现效果:

实现代码:
1.子组件:
<template>
<div class="contrainer">
<el-table
:data="tableData"
style=" 100%">
<template>
<el-table-column v-for="item in tableColData"
:prop="item.id"
:label="item.name"
:key="item.id">
</el-table-column>
</template>
</el-table>
</div>
</template>
<script>
export default {
props: ['tableData', 'tableColData'],
data(){
return{
}
}
}
</script>
<style lang="scss" scoped>
.contrainer{
}
</style>
2.父组件:
<div class="tables">
<Table :tableData='tableData' :tableColData='tableColData'></Table>
</div>
import Table from '@/components/basicComponents/table/Table'
components: {
Table,
},
tableData : [{
date: '2016-05-02',
name: '王小虎2',
telephone: '123',
address: '上海市普陀区金沙江路 1518 弄',
}, {
date: '2016-05-04',
name: '王小虎2',
telephone: '123',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '王小虎2',
telephone: '123',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '王小虎2',
telephone: '123',
address: '上海市普陀区金沙江路 1516 弄'
}],
tableColData: [{
id: 'date',
name: '日期'
}, {
id: 'name',
name: '姓名'
}, {
id: 'telephone',
name: '电话'
}, {
id: 'address',
name: '地址'
}],
实现原理:
通过在父组件中引入子组件,并且传入对应的行数据及列数据,即可动态改变子组件中表格的数据内容。