当前位置: 首页 > article >正文

<el-table>构建树形结构

最佳实践

el-table实现树形结构主要依靠row-keytree-props来实现的。
💫 无论是el-table实现的树形结构还是el-tree组件都是绑定的树形结构的数据,因此如果数据是扁平的话,需要进行树化。

代码

<template><div><el-table:data="tableData"style="width: 100%;margin-bottom: 20px;"row-key="id"borderdefault-expand-all:tree-props="{children: 'children', hasChildren: 'hasChildren'}"><el-table-columnprop="date"label="日期"sortablewidth="180"></el-table-column><el-table-columnprop="name"label="姓名"sortablewidth="180"></el-table-column><el-table-columnprop="address"label="地址"></el-table-column></el-table></div></template><script>export default {data() {return {tableData: [{id: 1,date: '2016-05-02',name: '王小虎',address: '上海市普陀区金沙江路 1518 弄'}, {id: 2,date: '2016-05-04',name: '王小虎',address: '上海市普陀区金沙江路 1517 弄'}, {id: 3,date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄',children: [{id: 31,date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄'}, {id: 32,date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄'}]}, {id: 4,date: '2016-05-03',name: '王小虎',address: '上海市普陀区金沙江路 1516 弄'}]}},methods: {},}</script>
当前视图

可以看到树形结构默认是打开的

在这里插入图片描述

核心属性

  • default-expand-all:树形结构打开还是关闭。
    关闭可以通过删除default-expand-all:default-expand-all = 'false'对属性值进行动态绑定,并将值置为false
  • children:指定子节点数据在父节点对象中的字段名,这里是 children 。
    也可以修改为其它名称,但是两处都需要进行修改
  • hasChildren:这个属性是非必须的,需要进行懒加载的时候才需要用到它。
    hasChildren需要和lazy属性、load属性来实现懒加载,lazy为true时,load方法才会生效。hasChildren属性和children属性相同,也可以修改名称。

懒加载

只加载需要展示的数据,其它数据等用户主动点击才会请求后端拿取。

代码

<template><div><el-table :data="tableData1" style="width: 100%" row-key="id" border lazy :load="load":tree-props="{ children: 'children', hasChildren: 'hasChildren' }"><el-table-column prop="date" label="日期" width="180"></el-table-column><el-table-column prop="name" label="姓名" width="180"></el-table-column><el-table-column prop="address" label="地址"></el-table-column></el-table></div>
</template>
<script>
export default {data() {return {tableData: [{id: 1,date: '2016-05-02',name: '王小虎',address: '上海市普陀区金沙江路 1518 弄'},{id: 2,date: '2016-05-04',name: '王小虎',address: '上海市普陀区金沙江路 1517 弄'},{id: 3,date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄',children: [{id: 31,date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄'},{id: 32,date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄'}]}, {id: 4,date: '2016-05-03',name: '王小虎',address: '上海市普陀区金沙江路 1516 弄'}],tableData1: [{id: 1,date: '2016-05-02',name: '王小虎',address: '上海市普陀区金沙江路 1518 弄'}, {id: 2,date: '2016-05-04',name: '王小虎',address: '上海市普陀区金沙江路 1517 弄'}, {id: 3,date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄',hasChildren: true}, {id: 4,date: '2016-05-03',name: '王小虎',address: '上海市普陀区金沙江路 1516 弄'}]}},methods: {load(row, treeNode, resolve) {// 查找对应的父节点const findChildren = (data, id) => {for (let item of data) {console.log(item.id);if (item.id === id) {console.log(item.id);return item.children || [];}}return [];};if (treeNode) {const children = findChildren(this.tableData, row.id);resolve(children);} else {resolve([]);}}},
}
</script>

效果图

在这里插入图片描述

到这里el-table加载树形结构就结束了。☺️

http://www.lryc.cn/news/2402357.html

相关文章:

  • linux——磁盘和文件系统管理
  • 云原生 DevOps 实践路线:构建敏捷、高效、可观测的交付体系
  • gateway 网关 路由新增 (已亲测)
  • ArcGIS Pro 3.4 二次开发 - 共享
  • Python html 库用法详解
  • C#异常处理进阶:精准获取错误行号的通用方案
  • 如何快速找出某表的重复记录 - 数据库专家面试指南
  • Python 训练营打卡 Day 33-神经网络
  • resolvers: [ElementPlusResolver()] 有什么用?
  • XHR / Fetch / Axios 请求的取消请求与请求重试
  • 机器学习-ROC曲线​​ 和 ​​AUC指标
  • Spring Boot缓存组件Ehcache、Caffeine、Redis、Hazelcast
  • 【学习记录】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 与 Tools
  • 如何有效删除 iPhone 上的所有内容?
  • AI大模型学习三十二、飞桨AI studio 部署 免费Qwen3-235B与Qwen3-32B,并导入dify应用
  • 操作系统中的设备管理,Linux下的I/O
  • 炉石传说 第八次CCF-CSP计算机软件能力认证
  • AI应用工程师面试
  • LabVIEW与Modbus/TCP温湿度监控系统
  • Cursor 1.0 版本 GitHub MCP 全面指南:从安装到工作流增强
  • 自主设计一个DDS信号发生器
  • 鸿蒙UI(ArkUI-方舟UI框架)- 使用弹框
  • 学习笔记(24): 机器学习之数据预处理Pandas和转换成张量格式[2]
  • 在不同型号的手机或平板上后台运行Aidlux
  • 【SSM】SpringBoot学习笔记1:SpringBoot快速入门
  • 1.企业可观测性监控三大支柱及开源方案的横评对比
  • Neo4j图数据库管理:原理、技术与最佳实践
  • Elasticsearch中的地理空间(Geo)数据类型介绍
  • [论文阅读] 软件工程 | 如何挖掘可解释性需求?三种方法的深度对比研究
  • 双空间知识蒸馏用于大语言模型