el-table 嵌套el-table勾选
时间: 2024-03-21 20:36:11 浏览: 90
nested_el-checkbox:element-ui的el-checkbox实现嵌套多选,单选
5星 · 资源好评率100%
el-table 是 Element UI 提供的一个表格组件,可以用于展示和编辑数据。嵌套 el-table 勾选是指在一个 el-table 中嵌套另一个 el-table,并且可以通过勾选来控制子表格的显示与隐藏。
实现嵌套 el-table 勾选的步骤如下:
1. 在父表格的列定义中,使用自定义模板来渲染子表格的展开与收起按钮。可以使用 el-table-column 的 scoped-slot 属性来定义自定义模板。
2. 在自定义模板中,使用 el-checkbox 组件来实现勾选功能,并绑定一个变量来控制子表格的显示与隐藏。
3. 在父表格的行数据中,添加一个属性来保存子表格的数据。
4. 在父表格的行展开事件中,根据当前行的数据,将子表格的数据赋值给子表格的数据属性。
5. 在子表格中,使用 v-if 或 v-show 来根据勾选状态来控制子表格的显示与隐藏。
下面是一个示例代码:
```html
<template>
<el-table :data="tableData" style="width: 100%">
<el-table-column type="expand">
<template slot-scope="props">
<el-checkbox v-model="props.row.expanded" @change="toggleChildTable(props.row)"></el-checkbox>
</template>
</el-table-column>
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="age" label="Age"></el-table-column>
<el-table-column prop="gender" label="Gender"></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{
name: 'John',
age: 20,
gender: 'Male',
expanded: false, // 控制子表格的显示与隐藏
children: [
{ name: 'Tom', age: 18, gender: 'Male' },
{ name: 'Alice', age: 22, gender: 'Female' }
]
},
{
name: 'Mary',
age: 25,
gender: 'Female',
expanded: false,
children: [
{ name: 'Bob', age: 30, gender: 'Male' },
{ name: 'Linda', age: 28, gender: 'Female' }
]
}
]
};
},
methods: {
toggleChildTable(row) {
row.expanded = !row.expanded;
}
}
};
</script>
```
阅读全文