elementUI表格合计行放顶部,合计行渲染所有数据的和(不是计算当前分页的和)

Vue Element UI el-table合计行深度定制:单元格合并与样式优化 在前端开发中,表格组件是数据展示的核心模块,其定制化能力直接影响用户体验。Element UI的el-table组件通过内置的合计行功能,为数值统计提供了基础支持。然而,当需求涉及复杂的单元格合并、样式深度定制或与固定列布局兼容时,原生API往往力不从心。深入理解表格的渲染原理和DOM结构,成为实现高级定制的前提。通过自定义append插槽,开发者可以完全掌控合计行的HTML结构和样式,实现跨列合并(colspan)等原生不支持的功能,从而满足产品对数据可视化美观度和交互一致性的高要求。这种方案尤其适用于需 阅读详情

效果图如下:在这里插入图片描述
咋们可以借用样式将合计行置顶

// 表格合计行放顶部
.summaryMethodTop.el-table {
  display: flex;
  flex-direction: column;
  .el-table__body-wrapper {
    order: 1;
  }
}

让后端将合计行的数据返回一个obj,字段跟表格数据字段保持一致,然后再合计方法getSummariesMethod中进行渲染 sums[index] = isNaN(this.sumObj[column.property]) ? '' : this.sumObj[column.property]

 <!-- 表格 -->
    <div class="tableContent">
      <el-table class="summaryMethodTop" :data="tableData" stripe border fit height="550px" :header-cell-style="tableHeaderColor"  :summary-method="getSummariesMethod" :show-summary="true">
        <el-table-column v-for="(value,name) in tableThead" :key="value" :label="value" :prop="name" min-width="120">
          <template slot-scope="scope">
            {{ scope.row[name] }}
          </template>
        </el-table-column>
      </el-table>
      <Pagination :total="formData.total" :page-num.sync="formData.pageNum" :page-size.sync="formData.pageSize" @initPage="initList" />
    </div>
 data() {
    return {
      // 表格表头
      tableThead: {
        yearAgreementNo: '编号',
        checkCompany: '单位',
        monthWeight: '月度量(吨)',
        agreementTotalWeight: '总量(吨)',
        annualDepositAmount: '年度金额(元)',
        rebateAmount: '返利金额(元)',
        agreementTotalAmount: '付款总额(元)',
        paidAmount: '已付货款(元)',
        returnAmount: '已退货款(元)',
        transferIntoAmount: '转入金额(元)',
        transferOutAmount: '转出金额(元)',
        num: '总数量',
      },
      formData: {
        pageNum: 1,
        pageSize: 10,
        total: 0
      },
      // 表格数据定义(目前是假数据,方便看效果)
      tableData: [
        {
          yearAgreementNo: '编号',
          checkCompany: 单位',
          monthWeight: '10',
          agreementTotalWeight: '6',
          annualDepositAmount: '66',
          rebateAmount: '66',
          agreementTotalAmount: '66',
          paidAmount: '66',
          returnAmount: '66',
          transferIntoAmount: '66',
          transferOutAmount: '66',
          num: '66'
        }
      ],
      //合计行数据定义, 这里后端计算所有数据的和后,返回(目前是假数据,方便看效果)
      sumObj:  {
        yearAgreementNo: '',
          checkCompany: '',
          monthWeight: '10',
          agreementTotalWeight: '6',
          annualDepositAmount: '66',
          rebateAmount: '66',
          agreementTotalAmount: '66',
          paidAmount: '66',
          returnAmount: '66',
          transferIntoAmount: '66',
          transferOutAmount: '66',
          num: '66'
      }
    }
  },
/** 表格合计行渲染所有数据的和,不是当前页的和 */
    getSummariesMethod(param) {
      const { columns, data } = param;
      const sums = [];
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = '合计';
          return;
        }
        sums[index] = isNaN(this.sumObj[column.property]) ? '' : this.sumObj[column.property]
      });
      return sums;
    },
// 修改table header的背景色
    tableHeaderColor({ row, column, rowIndex, columnIndex }) {
      if (rowIndex === 0) {
        return 'background-color: #000;color: #fff;font-weight:bold'
      }
    },
element二次封装Table 表格动态渲染服装尺码横排及合计统计 阅读详情

相关推荐

vue+element-ui动态生成多级表头的方法

vue+element html配置: {{tableData}} <el-table-column v-if='item.children||item.children

vue el-table 合计行放在首行

效果如图所示 首先在el-table ,添加属性 summary-method=“getSummaries” show-summary <div class="contentInfoWrap"> <el-table :data="tableData" class="customTable" :summary-method="getSummaries" show-summary border :header-cell-style="HeadTable" :cell-

抹不去你留下的唇印的博客 3526

AUTOSAR BswM配置实战:手把手教你用Vector Davinci Configurator搭建第一个模式管理规则

本文详细介绍了如何使用Vector Davinci Configurator工具配置AUTOSAR BswM模块,实现车身控制ECU的模式管理规则。通过实战案例,从环境准备、核心概念梳理到具体配置步骤,包括ModeRequestPort、ModeCondition、Logical Expression和Rules的构建,帮助工程师快速掌握BswM配置技巧,提升汽车电子软件开发效率。

weixin_28678831的博客 353

elementUI table 添加合计行,合计行放置顶部(标题下内容上),合计行渲染所有数据的和(取后端接口数据),合并合计单元格,给表头换颜色。

4.渲染合计,sumObj是通过后端接口得到的对应字段的合计(对象数据)。在并在此处调用合并“合计”文字的单元格。3.使用vue.$el.querySelector()方法,table渲染时,调用封装好的合并方法。1.将show-summary设置为true就会在表格尾部展示合计行。2.借用样式将合计行置顶。

weixin_37739550的博客 3419

IEC61850 通信协议测试验证实战指南:从理论到实践

本文提供了一份全面的IEC61850通信协议测试验证实战指南,强调测试必须从理论走向工程实践。文章详细讲解了如何搭建测试环境,并深入剖析了MMS、GOOSE、SV三大核心协议的实战测试方法,旨在帮助工程师通过系统化的测试验证,确保电力自动化设备的互操作性与通信可靠性。

weixin_29204121的博客 171

Vivado FIR Complier_IP核使用方法

文章依靠该IP核对应手册PG149写的,因为笔者需求简单,没有深入挖掘功能,可以自行下载学习。

2302_80180551的博客 3989

vue @sort-change 条件排序全部数据而不是当前页

1.问题描述 最终效果如下: 这些排序需要进行全部数据的排序而不是根据当前页面进行排序 旧逻辑是将数据全查出来由前端进行分页和排序 我感觉难受就改成后端分页了 然而会导致只排序当前页的问题 所以需要修改排序逻辑也移动到后台中 2.前端代码如下 1.html代码: <el-table border ref="multipleTable" :data="gameList"

lMasterSparkl的博客 3117

【规则引擎连载3】 WebSphere ILOG JRules 开发——新建一个规则项目

规则项目依赖于bom,bom来自于一个Java项目,所以在建规则项目之前,需要先建立一个Java项目,也就是建模。 说明:原则上是一个规则项目,一个bom。如果规则项目很多,并且每个规则项目的bom都是一样的,那么可以将bom提取出来,单独作为一个项目,这样减少不必要的重复操作,减少维护成本,降低出错几率。这里逐步讲解两种方法来创建规则项目,推荐第二种。 本文主要建立两种规则项目与bom之间的关系,编写相关的规则内容,如操作规则、规则流、决策表等,在后续文章中详细讲解 。

manman的分享 2331

将el-table表格的合计行放到首行

element-ui 的table表格的合计行是放在最后一行的,便于数据的直观显示,需求就会要求将合计行放到首页,方法如下: 添加以下两行CSS,即可将合计行放在第一行: /* /deep/ 为深度操作符,可以穿透到子组件 */ /deep/ .el-table { display: flex; flex-direction: column; } /* order默认值为0,只需将表体order置为1即可移到最后,这样合计行就上移到表体上方 */ /deep/ .el-table__body-wr

live_loves的博客 4562

【报错】(pycharm运行程序)OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading

1 报错 OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading 2 分析原因 通过 activate Distance 进行自己创建的 Distance 虚拟环境中,输入python会显示环境中python的版本信息,再依次import,显然不会报错。 这是因为在Anaconda的环境下有支持 import torch 的 dll,而在PyCharm中使用的是自己创建的新环境,还缺少相应支持的dll,仅需在PyCharm中配置环境变量。.

静谧、淡雅 8623

YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计

实时检测器架构的轻量级设计GsConv。

Limiiiing的博客 2311

vue el-table 合计计算

<el-table :data="tableData" ref="table" tooltip-effect="dark" border show-summary :summary-method="getSummaries" stripe id="table" :max-height="tableHeight" > <el-table-column label="应付账款" prop="yfk" ali..

weixin_49261425的博客 1348

PCL 八叉树的使用

八叉树(Octree)是一种空间划分的数据结构,广泛应用于三维点云的处理和分析。八叉树通过将空间递归地划分为八个子区域,可以有效地组织和索引三维点数据,提升点云的查询、降采样和配准等操作的效率。

纵马踏花向自由 1658

Element UI 表格自定义合计行逻辑

getSummaries(param) { const {columns,data} = param;//整合数据对象 const sums = [];//最终返回的合计行数组 columns.forEach((column, index) => { if (index === 0) {//如果是第一列则返回合计二字 sums[index] = '合计'; return; } const values = data.map(item ...

NuoYan3327的博客 2101

2026年算法工程师常见面试简答题

本文摘要:文章系统梳理了机器学习与深度学习中的30个核心概念,涵盖模型优化、评估指标、经典算法和大模型应用等关键知识点。主要内容包括:1)过拟合与欠拟合的成因及解决方法;2)偏差-方差权衡原理;3)数据划分与交叉验证策略;4)分类/回归任务评估指标选择;5)逻辑回归、决策树、SVM等传统算法解析;6)梯度下降优化与正则化技术;7)CNN、RNN、Transformer架构对比;8)Embedding表示与RAG技术。特别强调面试高频考点如XGBoost改进、注意力机制原理等,并给出实际工程中的解决方案建议,

不务正业的猿 350

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Element的表格el-table合计显示多行,以及合计行合并单元格

vue,elementUi,eltable

qq_33475629的博客 1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

element-ui合计逻辑踩坑

' + means[columnIndex] + '元

qq_43417003的博客 2129

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Element-UI表格导出Excel合计行错位?手把手教你修复导出功能(2023最新)

本文针对Element-UI表格导出Excel时合计行错位的常见问题,深入剖析了问题根源在于DOM结构中多余的rowspan属性与导出库解析逻辑冲突。文章提供了两种解决方案:一是通过DOM操作在导出前清理属性,二是推荐采用更可控的数据驱动方式直接生成Excel,并给出了详细的代码示例和最佳实践,帮助开发者彻底修复导出功能。

c6d7e8f9g的博客 912

封装elementUI的表格分页组件

Tips:文中myPagination组件和myDialog组件都是我自己分装的分页和弹窗组件,可查看我的上两篇文章找到相应代码,也可以直接点击链接跳转过去。然后我们再新建一个myTable.vue文件。首先我们新建一个render.js文件。

w807139809的博客 485

elementUI表格数据不实时更新(解决)--妙用方法

由于我对elementUI的表格进行了嵌套接口的调用,并且每个接口调用数据会有一定的时间,导致表格数据渲染不完全,但是打印表格的数据时候也都获取到了,只是页面数据只更新了一部分。 一步搞定,表格数据刷新splice(1,0) 可以主动触发表格刷新哦~~~~~~~学废了吗>>>>>>>>> self.tableData = self.table; self.tableData.splice(1,0) ...

蜗牛~~ 3301

别再手动算合计了!ElementUI Table的summary-method还能这样玩,实现多行统计报表

本文深入解析ElementUI Table的summary-method方法,教你如何实现动态多维度统计报表,告别传统手动计算合计的繁琐。通过分层数据模型、动态列匹配和复合统计渲染组件,构建高效的多行统计系统,适用于电商订单分析、生产质量看板等场景,提升后台管理系统的数据展示能力。

weixin_27729671的博客 206

基于elment-ui 封装可复用table之vue-el-mtable

基于elment-ui 封装 可复用table vue-el-mtable 为了简化table使用,笔者将elmentui 中的table组件进行了,再封装,方便使用, 后期逐渐完善功能 示例demo 在文章最后 安装 npm i element-ui -S npm install vue-el-mtable -S MTable Attributes 参数 说明 类型 可选值 默...

marendu的博客 1万+

vue-cms Excel 导入导出完整教程:导出、上传解析、合并统计一次搞定

依赖方面,导出依赖 `file-saver`,解析依赖 `xlsx`,均已在 [package.json](https://link.gitcode.com/i/cc3052ec735e7da90b908415c0f1ab66) 中配置好,开箱即用。 ## 七、总结:一次掌握后台 Excel 全流程 通过 vue-cms 这套完整示例,你可以轻松掌握后台管理系统 Excel 导入导出的三种核心

gitblog_00569的博客 924

关于el-table异步获取数据渲染动态列数据赋值列数据渲染时title高度异常闪过问题

本文针对Element UI表格组件在动态列渲染时出现的标题高度异常问题,提出了一种双表格切换的解决方案。当同时存在固定列和异步获取的动态列时,传统方法如强制刷新、延迟渲染等均无法有效解决高度闪动问题。最终方案采用v-if/v-else条件渲染两个表格:数据未就绪时显示仅含固定列的静态表格,数据加载完成后再切换到包含动态列的主表格。这种方法通过避免动态列加载过程中的布局计算,有效消除了标题栏高度异常现象,同时保持了表格的完整功能实现。

梦雨的博客 615

element table最后一行总计去除不用合计的列

element table最后一行总计

Jasmin博客 512

vue 根据select的下拉框选中数据,请求时多个分别展示不同的表格结构动态 渲染

需要展示的4种表格结构 4种表格形态:年度 半年度 季度 月度数据展示 结构: <el-table :border="true" key="table1" :data="tableList"> <el-table-column v-if="deptShow" prop="deptName" align="center" label="部门" width="14.

m0_60602436的博客 3857
上一篇: vue实现指定区域自由拖拽、打印功能
下一篇: 利用element日期组件,封装季度组件, 实现日、周、月、季度切换,默认禁用部分日期选择(附带:获取昨日、昨日所在周、昨日所在月、昨日所在季度等方法)
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值