elementui el-table折叠表格,点击主表数据展开从表明细

news2024/9/28 7:18:33

用element-ui 的el-table实现:主表table可实现展开行显示关联的明细表table的列表数据,效果图如下
在这里插入图片描述

    <el-table
      ref="tableData"
      v-loading="listLoading"
      :data="tableData"
      row-key="id"
      border
      stripe
      highlight-current-row
      style="width: 100%"
      max-height="500"
      @row-click="handleRowClick"
      @expand-change="expandChange"
    >
      <el-table-column type="expand">
        <template slot-scope="scope">
          <el-table :data="scope.row.tableDetailData" size="mini" style="width: 95%;margin-left: 8%;">
            <el-table-column prop="spotCheckItems" label="点检项目" align="center" />
            <el-table-column prop="spotCheckPattern" label="点检类型" align="center" :formatter="formatterSpotCheckPattern" />
            <el-table-column prop="results" label="点检结果" align="center" :formatter="formatterResults" />
            <el-table-column prop="createTime" label="点检日期" align="center" />
          </el-table>
          <el-col :span="24" class="toolbar">
            <el-pagination
              style="float: right"
              :total="scope.row.detailTotal"
              :current-page="detailCurrentPage"
              :page-sizes="[5, 10, 20, 30]"
              :page-size="detailPageSize"
              layout="total, sizes, prev, pager, next, jumper"
              @size-change="handleDetailSizeChange"
              @current-change="handleDetailCurrentChange"
            />
          </el-col>
        </template>
      </el-table-column>
      <el-table-column prop="equipmentBarcode" label="设备条码" align="center" />
      <el-table-column prop="equipmentName" label="设备名称" width="150" align="center" />
      <el-table-column prop="createTime" label="点检日期" for align="center" />
      <el-table-column prop="results" label="点检结果" align="center" :formatter="formatterResults" />
      <el-table-column prop="workorderNo" label="维保工单号" align="center" />
      <el-table-column prop="maintainResult" label="维保结果" align="center" />
    </el-table>

一.开启el-table展开行的功能
通过设置 type=“expand” 和 Scoped slot 可以开启展开行功能

      <el-table-column type="expand">
        <template slot-scope="scope">
          <el-table :data="scope.row.tableDetailData" >
            <el-table-column prop="spotCheckItems" label="点检项目" align="center" />
            <el-table-column prop="spotCheckPattern" label="点检类型" align="center" :formatter="formatterSpotCheckPattern" />
            <el-table-column prop="results" label="点检结果" align="center" :formatter="formatterResults" />
            <el-table-column prop="createTime" label="点检日期" align="center" />
          </el-table>
        </template>
      </el-table-column>

二.展开行时,会触发 expan-change事件,自定义一个expandChange方法,用于在展开行时加载明细表数据

    /** 点击主表格行,获取子表格明细 */
    expandChange(row) {
      // 设置当前行为选中行
      this.$refs.tableData.setCurrentRow(row)
      var obj = {
        recordId: row.id
      }
      this.detailListLoading = true
      SOPTCHECKRECORDAPI.queryEquipSpotCheckRecordDetailList(obj, this.detailCurrentPage, this.detailPageSize).then(
        (res) => {
          this.detailListLoading = false
          this.$set(row, 'tableDetailData', res.data.records)
          this.$set(row, 'detailTotal', res.data.total)
        }
      )
    },

这个方法会传入一个参数,用console.info(val)可知,这是这个主表行的记录,根据主表id查询获取子表记录,用this.$set,将子表list放入主表中。

三.若要同时实现点击主表行展开明细表,需要添加点击行时间
@row-click=“handleRowClick”

      // 点击主表行展开明细
    handleRowClick(row, event, column) {
      // tableData为主表table的ref属性值
      this.$refs.tableData.toggleRowExpansion(row)
    },

参考文档:
element-ui 中 table表格 展开行 的功能
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/789694.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

idea中设置maven本地仓库和自动下载依赖jar包

1.下载maven 地址&#xff1a;maven3.6.3 解压缩在D:\apache-maven-3.6.3-bin\apache-maven-3.6.3\目录下新建文件夹repository打开apache-maven-3.6.3-bin\apache-maven-3.6.3\conf文件中的settings.xml编辑&#xff1a;新增本地仓库路径 <localRepository>D:\apache-…

十二、数据结构——二叉树基本概念及特点

数据结构中的二叉树 目录 一、二叉树的基本概念 二、二叉树的特点 三、二叉树的分类 四、二叉树的存储结构 (一)、顺序存储 (二)、链式存储 一、二叉树的基本概念 二叉树是一种重要的数据结构&#xff0c;它是每个节点最多有两个子节点的树结构。在二叉树中&#xff0c;每个…

【源码解析】SpringBoot循环依赖源码解析II

前言 前面已经写过循环以来的分析&#xff0c;对循环依赖有一些了解&#xff0c;【源码解析】Spring循环依赖和三级缓存。简单回顾一下&#xff1a; Spring可以解决Autowired注入的循环依赖 Spring解决不了构造器注入的循环依赖 使用Aysnc注解会导致循环依赖。提前暴露的Bea…

Vue基础 --- 路由

1. 前端路由的概念与原理 1.1 什么是路由 路由&#xff08;英文&#xff1a;router&#xff09;就是对应关系。 1.2 SPA 与前端路由 SPA 指的是一个 web 网站只有唯一的一个 HTML 页面&#xff0c;所有组件的展示与切换都在这唯一的一个页面内完成。 此时&#xff0c;不同…

K8s卷存储详解(二)

K8s卷存储详解&#xff08;二&#xff09; 持久卷持久卷&#xff08;PV&#xff09;持久卷申领&#xff08;PVC&#xff09;存储类&#xff08;StorageClass&#xff09;存储制备器&#xff08;Provisioner&#xff09;PV和PVC的生命周期持久卷的类型CSI 卷快照CSI 卷克隆 投射…

《合成孔径雷达成像算法与实现》Figure2.14

%% 插值核 clc close all clear allN 40; x1 -4:1/N:4-1/N; hx sin(pi*x1)./(pi*x1); if x1 0hx 1; end figure plot(x1,hx,k) axis([-4 4,-0.4 1.2]) grid on arrow([-4,0],[4,0],Color,k,Linewidth,1); arrow([0,-0.4],[0,1.2],Color,k,Linewidth,1); %% 初始样本 x2 1…

第一章 函数的连续与间断与 无穷小量

文章目录 前言一、连续二、间断考点 识别间断点解题思路 三、无穷小量无穷小量的加减运算与比较无穷小的题型与解答 四、曲线的渐近线1、概念2、分类3、例题 前言 一、连续 二、间断 考点 识别间断点 解题思路 三、无穷小量 无穷小量的加减运算与比较 无穷小的题型与解答 四、曲…

高效协作处理缓存清理需求:生产者-消费者模式助力多模块缓存管理

在现代应用系统中&#xff0c;缓存是提高性能和减少数据库负载的重要手段之一。然而&#xff0c;缓存的数据在某些情况下可能会过期或者变得无效&#xff0c;因此需要及时进行清理。在复杂的应用系统中&#xff0c;可能有多个系统、多个模块产生缓存清理需求&#xff0c;而这些…

从实践彻底掌握MySQL的主从复制

目录 一、本次所用结构如图---一主多从级联&#xff1a; 二、IP。 三、配置M1&#xff1a; 四、从库M1S1&#xff1a; 五、从库M2配置&#xff1a; 六、 从库M2S1&#xff1a; 一、本次所用结构如图--- 一主多从级联&#xff1a; 二、IP。这里M1S1和M1S2一样的&#xff0…

怎么学习Java框架和库相关知识? - 易智编译EaseEditing

学习Java框架和库相关知识可以遵循以下步骤&#xff1a; 确定学习方向&#xff1a; Java拥有众多的框架和库&#xff0c;例如Spring、Hibernate、JavaFX、Apache Commons等。首先确定你感兴趣的方向和应用场景&#xff0c;然后选择相应的框架和库进行学习。 官方文档和教程&a…

Linux 学习记录56(ARM篇)

Linux 学习记录56(ARM篇) 本文目录 Linux 学习记录56(ARM篇)一、总线概念1. 总线2. 串行总线3. 并行总线4. 单工/半双工/全双工5. 同步6. 异步 二、串口(UART)1. 串口配置信息2. 串口通信协议(异步串行全双工总线)3. 框图分析4. 使能串口5. GPIO的复用模式6. RCC时钟7. UART寄存…

python的闭包

一、介绍 Python 中的闭包&#xff08;Closure&#xff09;是指一个函数对象&#xff08;称为内部函数&#xff09;捕获并引用了其所在函数&#xff08;称为外部函数&#xff09;中的变量&#xff0c;即使外部函数已经执行完毕&#xff0c;内部函数仍然可以访问和操作外部函数…

当配置Windows系统下的docker配置了阿里云镜像后下载依然很慢时多配几个镜像可以改善问题

前情介绍&#xff1a;在以前的docker版本中只需配阿里云的镜像下载就很快了&#xff0c;但是下载了新版本docker in Windows后&#xff0c;置Windows系统下的docker配置了阿里云镜像后下载依然很慢时&#xff0c;之后多配几个镜像可以改善问题。 问题现象&#xff1a; 1、下载慢…

uniapp h5 竖向的swiper内嵌视频实现抖音短视频垂直切换,丝滑切换视频效果,无限数据加载不卡顿

一、项目背景&#xff1a;实现仿抖音短视频全屏视频播放、点赞、评论、上下切换视频、视频播放暂停、分页加载、上拉加载下一页、下拉加载上一页等功能。。。 二、前言&#xff1a;博主一开始一直想实现类似抖音进入页面自动播放当前视频&#xff0c;上下滑动切换之后播放当前…

移远通信推出新一代高算力智能模组SG885G-WF,为工业和消费级IoT应用带来全新性能标杆

2023年7月24日&#xff0c;全球领先的物联网整体解决方案供应商移远通信宣布&#xff0c;正式推出其新一代旗舰级安卓智能模组SG885G-WF。该智能模组具有高达48 TOPS 的AI综合算力、强大性能及丰富的多媒体功能&#xff0c;非常适用于需要高处理能力和多媒体功能的工业和消费者…

T113-S3-RTL8822CU模块驱动移植

目录 前言 一、驱动源码获取 二、源码编译 三、驱动模块加载测试 前言 在嵌入式系统开发中&#xff0c;移植外部硬件设备的驱动是一个常见的任务。本文将分享如何在全志平台上成功移植RTL8822CU无线模块的驱动&#xff0c;以实现无线网络功能。 提示&#xff1a;以下是本篇文…

(四)RabbitMQ高级特性(消费端限流、利用限流实现不公平分发、消息存活时间、优先级队列

Lison <dreamlison163.com>, v1.0.0, 2023.06.23 RabbitMQ高级特性&#xff08;消费端限流、利用限流实现不公平分发、消息存活时间、优先级队列 文章目录 RabbitMQ高级特性&#xff08;消费端限流、利用限流实现不公平分发、消息存活时间、优先级队列消费端限流利用限流…

(一)认识InfluxDB

以下内容来自 尚硅谷&#xff0c;写这一系列的文章&#xff0c;主要是为了方便后续自己的查看&#xff0c;不用带着个PDF找来找去的&#xff0c;太麻烦&#xff01; 第 1 章 认识InfluxDB 1.1 InfluxDB的使用场景 InfluxDB是一种时序数据库&#xff0c;时序数据库通常被用在监…

MySQL笔记——表的修改查询相关的命令操作

系列文章目录 MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库&#xff0c;对MySQL数据库的简单操作&#xff0c;MySQL的外接应用程序使用说明 文章目录 系列文章目录 一 表的修改操作 1.1 修改表的名字 1.2 添加一列score 1.3 修改列名称 1.4 修改新增列的…

containerd

Containerd是一个开源的容器运行时&#xff08;Container Runtime&#xff09;&#xff0c;它是Kubernetes和Docker等容器平台的基础组件之一。它旨在提供容器的生命周期管理和基本的运行时功能&#xff0c;使得容器的创建、启动、停止、删除等操作变得简单且高效。 Container…