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

el-table 指定层级展开

先来看看页面默认全部展开时页面的显示效果:所有节点被展开,一眼望去杂乱无章!

那么如何实现只展开指定的节点呢?最终效果如下:一眼看去很舒爽。 

干货上代码:

<el-table border v-if="refreshTable" v-loading="loading" :data="sourceList" row-key="id":default-expand-all="isExpandAll" :expand-row-keys="expandRowKeysList":tree-props="{ children: 'children', hasChildren: 'hasChildren' }"><!-- <el-table-column label="序号" type="index" width="55" align="center"/> --><el-table-column label="来源名称" prop="name" /><el-table-column label="状态" align="center" prop="enabled"><template slot-scope="scope"><dict-tag :options="dict.type.msg_status" :value="scope.row.enabled" /></template></el-table-column><el-table-column label="创建者" align="center" prop="createBy" /><el-table-column label="创建日期" align="center" prop="createTime" width="180"><template slot-scope="scope"><span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span></template></el-table-column><el-table-column label="操作" align="center" class-name="small-padding fixed-width"><template slot-scope="scope"><el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"v-hasPermi="['system:source:edit']">修改</el-button><el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)"v-hasPermi="['system:source:add']">新增</el-button><el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"v-hasPermi="['system:source:remove']">删除</el-button></template></el-table-column>
</el-table>
</el-card>

 核心代码注意:这三个属性,一定要注意使用。id即接口给你返回的每个节点的id,具体看你后端接口返回的命名。

row-key="id" 
:default-expand-all="isExpandAll" 
:expand-row-keys="expandRowKeysList"

isExpandAll在data中默认为false意为不要全部默认展开,即全部自动收起。否则指定展开无效。

isExpandAll:false

再来看看被展开节点的设置:将要展开节点的id放入expandRowKeysList数组中。

:expand-row-keys="expandRowKeysList"
data(){return {isExpandAll:false
//table哪些行默认开展expandRowKeysList:[]}
}

 调用接口:

methods: {
/** 查询项目来源列表 */getList() {let self = thislistSource(this.queryParams).then(response => {this.sourceList = this.handleTree(response.data, "id", "pid");this.sourceList.forEach(element => {self.expandRowKeysList.push(element.id + '')});});},
}

默认展开一级。如果你默认展开第二级,则修改以上代码,将二级节点的id压入数组中即可。 

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

相关文章:

  • 3288S Android11 适配红外遥控功能(超详细)
  • Linux高性能服务器编程 学习笔记 第三章 TCP协议详解
  • 【云原生】Kubernetes学习笔记
  • [Machine Learning][Part 2]监督学习的实现
  • 【计算机毕业设计】基于SpringBoot+Vue大学生心理健康管理系统的开发与实现
  • 下载水果FLStudio21.2软件安装更新教程
  • 人工智能机器学习-飞桨神经网络与深度学习
  • linux部署页面内容
  • 若依框架集成WebSocket带用户信息认证
  • 0基础学习VR全景平台篇 第101篇:企业版功能-子账号分配管理
  • adb 命令集
  • 分享78个Python源代码总有一个是你想要的
  • springcloud3 指定nacos的服务名称和配置文件的group,名称空间
  • go-redis简单使用
  • 33. 搜索旋转排序数组-二重二分查找
  • mysql自动删除过期的binlog
  • Java面向对象(1)
  • 【计算机毕业设计】基于SpringBoot+Vue金融产品销售系统的设计与实现
  • 【面试题精讲】Mysql如何实现乐观锁
  • 从零开始搭建java web springboot Eclipse MyBatis jsp mysql开发环境
  • 【VsCode】整理代码
  • 盘点总结汇总植物病虫害、人体疾病识别相关的项目实践
  • 【测试开发】用例篇 · 熟悉黑盒测试用例设计方法(2)· 正交表 · 场景设计 · 常见案例练习
  • 【ES】笔记-数值扩展
  • 浅谈Rust内存管理
  • Vue路由跳转至页面后多次渲染
  • CDH大数据平台集群部署
  • 基于springboot+vue的校园资产管理系统
  • @RequestMapping 注解使用技巧
  • AtCoder 265G 线段树