前端 vue el-table 增加合计行及合并单元格

这篇具有很好参考价值的文章主要介绍了前端 vue el-table 增加合计行及合并单元格。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

自己总结的,不好别喷,谢谢~~~

先看效果图

el-table合计行,vue.js,前端,javascript

 表格触发调用方法

<el-table :align="rowTableCenter" id="tables" :data="data"
                          :summary-method="addTotal"  :show-summary="true"  border>
                  <el-table-column label="序号" type="index" align="center"/>

 合计行代码

在 合计行方法中 直接去修改了表格样式

//合计行
    addTotal(param) {
      const { columns, data } = param;
      // console.log(columns)
      const sums = [];
      columns.forEach((column, index) => {
        if (index === 0 ) {
          console.log(column)
          column.colSpan = 4;  //行占用格数
          column.rowSpan = 1;  //列占用格数
          sums[index] = '权重得分合计';
        }
        if(index !== 0 && index !== 4){
          column.rowSpan = 0;
          column.colSpan = 0;
          // column.style = {
          //   "display":"none"  //这里加了但是没有作用效果
          // }
          console.log(column)
          return;
        }
        const values = data.map(item => Number(item[column.property]));
        if(index === 4){
          if (!values.every(value => isNaN(value))) {
            sums[index] = values.reduce((prev, curr) => {
              const value = Number(curr);
              if (!isNaN(value)) {
                return prev + curr;
              } else {
                return prev;
              }
            }, 0);
          } else {
            // sums[index] = 'N/A';
          }
        }
      });

//在合计行方法中直接去修改了单元格样式
      //合并单元格
      this.$nextTick(() => {
        const tds = document.querySelectorAll('#tables .el-table__footer tr>td');
        console.log(tds)
        tds.forEach(function (val, index) {
          if (tds[0].innerText === '权重得分合计') {
            if(index !== 0 && index !== 4){
              val.style.display = 'none';
            }else{
              val.style.textAlign = 'center';
            }
            // val.style.display = 'none';
            // val.style.fontSize = '16px';
            // val.style.borderColor = '#aaaaaa';
            // val.style.color = '#fff';
          }
        })
      }, 1000)
      return sums;
    },

 文章来源地址https://www.toymoban.com/news/detail-724218.html

到了这里,关于前端 vue el-table 增加合计行及合并单元格的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • el-table 添加合计,合计某一列

    效果图:  1.   使用elementui 官网上的方法 如果是只要是数值,就要合并,就只设置show-summary 即可。     2.  html: 3. js : 参考: el-table合计行合并自定义列数,单独合计某一列_刘远航,的博客-CSDN博客

    2024年02月13日
    浏览(44)
  • 在配置了 el-table 组件的合计行后,由于elementUI 表格el-table设置高度之后,合计行功能不会显示

    在配置了 el-table 组件的合计行后,由于elementUI 表格el-table设置高度之后,合计行功能不会显示 根据调试,发现该问题应该属于组件bug,表格主体中给 footer 留的高度不够导致,重新设置即可。 添加生命周期钩子 updated ,对 table 组件重新布局即可解决问题。具体如下: Vue 文

    2024年02月07日
    浏览(59)
  • el-table树状表格末行合计

    首先,由于我的表头是动态的,所以就稍微复杂一点 效果图 表头数据格式是这样的 表格的数据格式是这样的 然后用合并的方法,此处就需要递归去计算,根据props去匹配每一列的数据,然后加起来,关键代码

    2024年02月06日
    浏览(57)
  • el-table表尾添加合计行,自动合计,且特殊列自定义计算展示

    效果如图 1.element-ui的table表格有合计功能,但是功能却不完善,会有不显示和计算出现错误的问题,项目中有遇到,所以记录下 show-summary:自动合计 getSummaries():对合计行进行特殊处理展示

    2024年02月10日
    浏览(44)
  • vue+ElementUI el-table表格单元格编辑增加键盘事件功能(向上、向下、回车键盘事件)

    1、如果单元格编辑使用了插槽功能,需要在插槽上添加一个class(这个类即:当前列的porp值) 2、porp不能重复(正常也不会存在) GitHub源码地址 Gitee源码地址 基于ElementUi或Antd再次封装基础组件文档 TTable组件封装地址

    2024年02月11日
    浏览(65)
  • elementui el-table在有summary-method时,table数据行将合计行遮挡住了

    前端使用框架:elementUI 使用组件:el-table 在表格内添加合计了合计行,根据业务多次调用数据渲染画面后,偶然导致画面变成如下图所示,table的数据行将合计行遮挡住了,且这个现象有时候好用,有时候不好用。 原因:由于画面数据多次加载,导致表格渲染失败,element有

    2024年02月09日
    浏览(42)
  • Vue - Element el-table 表头、行、列合并,底部或顶部显示汇总行

    GitHub Demo 地址 在线预览 使用 el-table 的 span-method 方法合并行和列 使用 el-table 的 header-cell-style 方法合并表头 使用 el-table 的 cell-class-name 方法配合css样式隐藏Checkbox 使用 el-table 的 show-summary 、 summary-method 方法配合css样式设置汇总行和汇总行样式

    2024年02月14日
    浏览(45)
  • Vue结合el-table实现合并单元格(以及高亮单元表头和指定行)

    实现效果如下: 思路: 1.首先使用动态表头表格。 2.其次实现动态计算合并单元格。(计算规则 传递需要合并的字段) 3.然后封装公共的计算单元格方法 export导出供多个页面使用。 4.同时需要封装成公共的组件供多个页面使用。 5.组件内写指定表头行高亮颜色以及指定行高

    2024年04月10日
    浏览(47)
  • vue3中el-table实现多表头并表格合并行或列

    1、el-table中添加事件 :span-method=\\\"genderSpanCity\\\" 2、js添加函数 效果图为

    2024年01月23日
    浏览(56)
  • element-ui中的el-table的summary-method(合计)的使用

    图片1: 图片2: 优点:         直接使用summary-method方法,直接,方便 缺点:         只是在表格下面添加了一行,如果想有多行就不行了 优点:          可以想表格下面添加多少行都行, 缺点:         列表的序号会一直往下走

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包