子组件
template>
el-table :data="tableData" :headers="tableHeaders" style="width: 100%">
el-table-column v-for="header in tableHeaders" :key="header.prop" :label="header.label" :prop="header.prop">/el-table-column>
/el-table>
/template>
script>
export default {
name: 'tableComponent',
props: {
tableData: {
type: Array,
required: true
},
tableHeaders: {
type: Array,
required: true
}
}
}
/script>
在这个示例中,我们添加了一个名为tableHeaders的属性,该属性是一个包含表头配置的数组。每个表头配置对象包含一个label和一个prop属性,用于显示列标题和与数据的对应关系。在模板部分,我们使用v-for指令循环渲染每个表头,并将表头配置对象的属性绑定到el-table-column组件中。通过这种方式,您可以根据需要动态更改表头。
父组件
template>
div>
tableComponent :tableData="tableData" :tableHeaders="tableHeaders"/>
/div>
/template>
script>
import tableComponent from './tableComponent.vue';
export default {
name: 'ParentComponent',
components: {
tableComponent
},
data() {
return {
tableData: [
{ id: 1, name: '张三', age: 25, address: '北京市朝阳区' },
{ id: 2, name: '李四', age: 30, address: '上海市浦东新区' },
{ id: 3, name: '王五', age: 28, address: '服务器托管网广州市天河区' }
],
tableHeaders: [
{ label: '姓名', prop: 'name' },
服务器托管网{ label: '年龄', prop: 'age' },
{ label: '地址', prop: 'address' }
]
};
}
}
/script>
在这个示例中,我们首先引入了tableComponent子组件。在父组件的data中,我们定义了tableData和tableHeaders两个属性,分别用于存储表格的数据和表头配置。您可以通过修改tableData和tableHeaders来更改表格的内容和外观。通过这种方式,您可以轻松地在父组件中使用可定制化的表格子组件。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
【直播预告】上云 vs 下云:降本增笑?割韭菜? 作者:尹海文,Oracle ACE,OCM 11g/12c/19c,MySQL 8.0 OCP,墨天轮MVP、技术专家,ITPUB核心专家,OCM讲师,网思科技DBA总监。 微信公众号:胖头鱼的鱼缸 今天看到薛…