elementplus 树形表格怎么展开三级以上
时间: 2023-08-06 21:01:57 浏览: 306
Vue3-ElmentPlus封装通用表格
5星 · 资源好评率100%
Element Plus 的树形表格默认只支持展开两级,如果需要展开三级以上,需要进行一些定制化操作。具体步骤如下:
1. 在表格的 columns 属性中,为需要展开的列(一般是第一列)添加 scopedSlot 插槽,并为插槽指定一个模板。
例如:
```html
<template v-slot:default="{row}">
<span v-if="row.level === 0">{{ row.name }}</span>
<span v-else-if="row.level === 1" style="padding-left: 20px">{{ row.name }}</span>
<span v-else-if="row.level === 2" style="padding-left: 40px">{{ row.name }}</span>
<span v-else style="padding-left: 60px">{{ row.name }}</span>
</template>
```
上述代码中,我们为第一列添加了一个 scopedSlot 插槽,根据行数据的 level 属性来确定该行的缩进量,从而实现展开三级及以上。
2. 在表格的 data 属性中,为每一行数据添加一个 level 属性,用来标记该行的层级。
例如:
```js
[
{
name: '一级 1',
level: 0,
children: [
{
name: '二级 1-1',
level: 1,
children: [
{
name: '三级 1-1-1',
level: 2
},
{
name: '三级 1-1-2',
level: 2
}
]
},
{
name: '二级 1-2',
level: 1,
children: [
{
name: '三级 1-2-1',
level: 2
},
{
name: '三级 1-2-2',
level: 2
}
]
}
]
},
{
name: '一级 2',
level: 0,
children: [
{
name: '二级 2-1',
level: 1,
children: [
{
name: '三级 2-1-1',
level: 2
},
{
name: '三级 2-1-2',
level: 2
}
]
},
{
name: '二级 2-2',
level: 1,
children: [
{
name: '三级 2-2-1',
level: 2
},
{
name: '三级 2-2-2',
level: 2
}
]
}
]
}
]
```
上述代码中,我们为每一行数据都添加了一个 level 属性,用来标记该行的层级。
通过以上两个步骤,我们就可以实现 Element Plus 树形表格的三级及以上展开了。
阅读全文