vue 两个el-table嵌套
时间: 2024-07-31 19:00:44 浏览: 73
在Vue中,如果你想要创建一个嵌套的`<el-table>`组件,你可以这样做来实现表格数据的多层次展示。首先,你需要在父组件中包含子表单,并通过props将数据传递下去。这里是一个简单的例子:
```html
<!-- 父组件模板 -->
<template>
<div>
<el-table :data="parentData" border>
<!-- 外层表格列定义 -->
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="children" label="子表">
<!-- 子表组件 -->
<el-table v-for="(childRow, index) in parentData.children" :key="index">
<template slot-scope="scope">
<child-table :data="childRow"></child-table>
</template>
</el-table-column>
</el-table-column>
</el-table>
</div>
</template>
<script>
import ChildTable from './ChildTable.vue'; // 假设这是子表组件
export default {
components: {
ChildTable
},
data() {
return {
parentData: [
{ name: 'A', children: [{ name: 'A1' }, { name: 'A2' }] },
{ name: 'B', children: [{ name: 'B1' }] }
]
};
}
};
</script>
```
在这个例子中,`parentData`是一个数组,每个元素都有一个`name`属性和一个`children`属性,后者也是一个数组,表示这个元素下的子元素。然后在`<el-table-column>`中,我们使用了v-for循环遍历外层数据的`children`属性,动态渲染出内层的`<el-table>`。
**注意:**
1. `ChildTable.vue`是你需要自定义的一个子组件,通常它会有自己的`<el-table>`和处理子数据的方式。
2. 这里假设`<child-table>`已导出并导入到父组件中。
阅读全文