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

el-table(elementui)表格合计行使用以及滚动条默认样式修改

一、el-table新增合计行以及el-table展示数据出现的问题

1. 使用合计行

  • el-table的属性show-summary设为true,即可在表格尾部展示合计行。默认情况下,第一列不展示数据,而显示合计二字,可以通过sum-text自己配置,其余列会显示本列所有数据的和
  • __自定义合计逻辑:__在el-table标签使用summary-method传入一个方法,该方法会返回一个数组,该数组的各项会显示在合计行的各列。
  • 自定义合计逻辑示例代码:
// tamplate标签中el-table写法,getTotal为自定义计算合计行数据的函数
// summary为boolean型变量,用于控制是否显示合计行
<el-table
      :data="tableData"
      ref="scrollTable"
      :summary-method="getTotal"
      :show-summary="summary"
></table>

// script标签methods中计算合计行数据的函数
 getTotal(params) {
      // columns table的所有列
      const { columns } = params;

      let sums = []; // 要返回并展示在界面的数组
      columns.forEach((element, index) => {
        if (index == 0) {
          sums[index] = "合计";
        } 
        // 这个地方自己定义逻辑
        // 给sums数组赋值 ,下标为i(从0开始),则展示中合计行第i+1列
      });
      return sums;
    },

2. table新增合计行后产生的问题以及解决方法

(1)问题1
  • 产生问题:添加合计行之后,横向滚动条位于合计行上方,希望滚动条显示在合计行下面
  • 解决:el-table分为headerWrapper、bodyWrapper、footerWrapper三部分,界面中显示的横向滚动条实际上是bodyWrapper的滚动条,通过一些内外边距设置,让滚动条挪到表格最下方
 // 滚动区域样式
  .el-table--scrollable-x .el-table__body-wrapper {
    padding-bottom: 50px;
  }
  .el-table__footer-wrapper {
    margin-top: -66px;//66 60
    overflow-y: scroll !important;
  }
  .el-table__fixed-footer-wrapper {
    padding-bottom: 15px;//15 9
  }
(2)问题2
  • 产生问题:如果table左侧设置了固定列,那么横线滚动条处于固定列下方时无法拖拽进行移动
  • 产生原因:合计行使用了position: absolute定位,且设置了层级高于其他元素,会遮挡底下的内容
  • 解决:给左侧固定列设置bottom(根据自己界面调整),留出固定列底部的位置显示层级较低的滚动条
::v-deep .el-table__fixed {
    height: auto !important;
    bottom: 9px !important;
  }

3. el-table横向滚动条滑到最右边,会出现表头和内容错位

(1)问题描述
  • 问题描述:当el-table表格有横向滚动条和纵向滚动条,把横向滚动条拉到最右边,表格的表头会和内容错位(表头和内容列不对齐)
  • 问题产生原因:在el-table有纵向滚动条时,el-table__body-wrapper + 纵向滚动条的宽度是100%,故表格内容区域宽度不足100%,而表头el-table__header-wrapper的宽度仍为100%,表格内容实际宽度小于表头,因此造成错位
(2)解决问题
  • 思路:给表格表头的宽度设置和表格内容一样即可100% - 纵向滚动条宽度
  • 代码实现
::v-deep {
  .el-table__header-wrapper {
  	// 这里我设置的纵向滚动条宽度为8px
    width: calc(100% - 8px) 
  }
}

二、修改el-table默认滚动条样式

  • -webkit-scrollbar 表示整个滚动条
  • -webkit-scrollbar-thumb 滑块
  • -webkit-scrollbar-track 轨道,里面有滑块
  • -webkit-scrollbar-button 滚动条轨道的两端按钮,允许通过点击微调小方块的位置
  • 代码示例:
::v-deep .el-table__body-wrapper::-webkit-scrollbar {
	      width: 10px; /*滚动条宽度*/
	      height: 10px; /*滚动条高度*/
	  }

可以根据以上几个样式组成部分修改滚动条默认样式,比如宽高、以及是否显示等(通过overflow设置)。

相关文章:

  • 【动态规划 矩阵快速幂】P8624 [蓝桥杯 2015 省 AB] 垒骰子|普及+
  • Zypher Network :基于零知识证明方案为 AI 赋予可信框架
  • 自我训练模型:通往未来的必经之路?
  • #UVM# 关于 config_db 机制中省略 get 语句的条件
  • 安装CUDA12.1和torch2.2.1下的DKG
  • 文件上传漏洞(upload靶场)
  • 【Hadoop】详解HDFS
  • 第四次CCF-CSP认证(含C++源码)
  • 高项第十章——项目进度管理
  • Java初级入门学习
  • OpenManus 的提示词
  • Java 大视界 -- Java 大数据在智能家居能源管理与节能优化中的应用(120)
  • 基于大模型预测的新型隐球菌脑膜炎综合诊疗研究报告
  • IPD(集成产品开发)简介
  • 项目实战--网页五子棋(对战功能)(9)
  • ThinkPHP框架
  • 【打卡d1】算法模拟类
  • `component`定义
  • 什么情况下使用分库分表
  • 本地服务重启-端口占用-显示和美国ip有个连接?存在恶意程序或是间谍程序?
  • 外国自适应企业网站/seo优化软件免费
  • 做网站的画布是多少/百度竞价推广的技巧
  • seo网站做推广价格/百度seo排名主要看啥
  • 做本地的分类信息网站/关键词优化难度分析
  • 宁波高端网站建设推广/微信群二维码推广平台
  • ue4培训/南宁网站seo排名优化