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);
                }
            });
        },
复制代码

以上就可以了。

posted @   巫小婆  阅读(6144)  评论(0编辑  收藏  举报
编辑推荐:
· 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搭建本
点击右上角即可分享
微信分享提示