el-table 展示二级数据
时间: 2024-09-19 11:14:10 浏览: 55
`el-table` 是 Element UI 中的一个表格组件,在 Vue.js 开发中常用于展示数据。如果需要展示二级数据,也就是嵌套的数据结构,你可以通过 `row-key` 和 `children` 属性来实现。
1. **row-key**:这是一个必需属性,用于唯一标识每一行。如果你的二级数据是以数组形式存在,比如每个父项下有多个子项,那么可以设置为 `'parent_key-child_key'`,表示根据父级和子级的某个字段组合生成唯一的行键。
```html
<el-table :data="treeData" row-key="id-parentId">
<!-- ... -->
</el-table>
```
2. **children**:这是数据属性,用于存储子节点。在渲染每行时,可以根据 `children` 的存在与否来判断是否显示展开/折叠按钮,以及如何递归地渲染子项。
```js
const treeData = [
{
id: 1,
parentId: 0,
name: '父项1',
children: [
{ id: 2, parentId: 1, name: '子项1-1' },
{ id: 3, parentId: 1, name: '子项1-2' }
]
},
// 更多数据...
]
```
在模板中,你可以使用递归组件 `<el-tree>` 或者自定义组件来呈现子项:
```html
<template slot-scope="{ row }">
<span>{{ row.parent.name }}</span>
<el-icon v-if="row.children && row.children.length > 0" type="el-icon-folder-open"></el-icon>
<div v-if="row.children && row.children.length > 0">
<ul>
<li v-for="(child, index) in row.children" :key="index">{{ child.name }}</li>
</ul>
</div>
</template>
```
阅读全文