element ui --- table 树形数据表格的点击整行展开收起,以及初始收起状态。
实现效果如下图,点击有子集的表格行可展开或收起子集。
代码如下:
// 列表点击事件 getOpenDetail(row){ this.$refs.theTable.toggleRowExpansion(row); },
<el-table border ref="theTable" :data="deductList" highlight-current-row @row-click="getOpenDetail" :row-class-name="tableRowClassName" :header-cell-style="{background: 'rgb(240, 240, 240,.4)'}" row-key="id" :tree-props="{ children: 'itemList', hasChildren:'hasChildren'}"> <el-table-column align="center" prop="data" width="160" label="日期"></el-table-column> <el-table-column align="center" prop="name" label="姓名"> </el-table-column> </el-table>
:header-cell-style 设置表头颜色,row-key="id" 树形数据表格每层数据必须有唯一值才能正常渲染,
:tree-props="{ children: 'itemList', hasChildren:'hasChildren'}" children为子集名称,hasChildren 通过指定 row 中的 hasChildren字段来指定哪些行是包含子节点。
列表重新加载时,所有节点重置状态为收起,代码如下:
// 重置列表关闭 resetdata() { //重置的时候 让数据全部收起 this.forArr(this.deductList, false); this.getItemListData(); }, //列表展开和收起 forArr(arr, isExpand) { arr.forEach(i => { this.$refs.theTable.toggleRowExpansion(i, isExpand); if (i.itemList) { this.forArr(i.itemList, isExpand); } }); },
以上就可以了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本