如何使 Vue 的 Element UI (el-table) 只显示一级表头而不展开多级结构?
时间: 2024-10-20 11:10:16 浏览: 52
在 Vue 中使用 Element UI (el-table) 并想限制只显示一级表头,你可以通过设置 `tree-props` 和 `default-expand-all` 属性来实现。当你不想让用户自定义展开行时,可以将 `default-expand-all` 设置为 `false` 来默认关闭多级展开。
首先,在你的 `el-table` 组件的选项对象中,添加这两个属性:
```html
<template>
<el-table :data="tableData" tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
<!-- ... -->
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{ id: 1, name: '一级标题1', hasChildren: false },
{ id: 2, name: '一级标题2', hasChildren: true,
children: [
{ id: 2-1, name: '二级标题1', hasChildren: false },
{ id: 2-2, name: '二级标题2', hasChildren: false }
]
},
// 更多数据...
],
defaultExpandAll: false, // 关闭默认展开所有级别
};
},
// ...其他组件逻辑
};
</script>
```
在这里,`tree-props` 配置告诉 el-table 数据结构中哪些字段用于表示子节点(如 `children`),以及哪些字段用于判断某个项是否包含子节点(如 `hasChildren`)。`default-expand-all` 设置为 `false` 则防止了默认展开所有子项。
阅读全文