el-table表尾添加合计行,自动合计,且特殊列自定义计算展示

这篇具有很好参考价值的文章主要介绍了el-table表尾添加合计行,自动合计,且特殊列自定义计算展示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果如图
el-table表尾添加合计行,自动合计,且特殊列自定义计算展示,前端
1.element-ui的table表格有合计功能,但是功能却不完善,会有不显示和计算出现错误的问题,项目中有遇到,所以记录下
el-table表尾添加合计行,自动合计,且特殊列自定义计算展示,前端
show-summary:自动合计
getSummaries():对合计行进行特殊处理展示文章来源地址https://www.toymoban.com/news/detail-685620.html

 <el-table
      border
      id="tables"
      :data="dnDatas"
      show-summary
      max-height="400px"
      class="tables"
      @cell-click="editName2"
      :row-class-name="tableRowClassName2"
      :key="randomKey"
      :summary-method="getSummaries"
    >

//getSummaries()返回的是一个展示的数组
//此方法中主要是将店名为001这种类型不要当成number类型来计算,方法可直接复制
//此方法另外是对列做计算,表格中毛利率的下标为7,所以index==7,再做除法赋值展示,
//导出功能excel,表格也会正常展示不会位移

 getSummaries(param) {
      const { columns, data } = param
      const sums = []

      columns.forEach((column, index) => {
        //第一个显示为合计
        if (index === 0) {
          sums[index] = '合计'
          return
        }
        const values = data.map((item) => item[column.property])
        //对表格数据进行循环
        values.map((item) => {
          //判断返回的是否为number数据类型
          if (typeof item === 'number' && item !== Infinity && !isNaN(item)) {
            //判断是否为时间戳
            if (item > 160000000000) {
              //若为时间戳则置为--
              sums[index] = '-'
              return
            } else {
              //对number数据进行累加
              sums[index] = values.reduce((prev, curr) => {
                const value = Number(curr)
                if (!isNaN(value)) {
                  //解决js计算小数出现小数点后多位数字的问题
                  return Math.floor((prev + curr) * 100) / 100
                } else {
                  return prev
                }
              }, 0)
            }
          } else {
            //不为number类型则置为--
            sums[index] = '-'
            return
          }
        })

        if (index == 7) {
          var num = sums[6] / sums[4]
          console.log(sums[6])
          console.log(sums[4])
          if (!num == 0) {
            num = (num * 100).toFixed(2)
            sums[index] = num
          } else {
            sums[index] = '0'
          }
        }
        if (index == 15) {
          var numlj = sums[14] / sums[12]
          console.log(sums[6])
          console.log(sums[4])
          if (!numlj == 0) {
            numlj = (numlj * 100).toFixed(2)
            sums[index] = numlj
          } else {
            sums[index] = '0'
          }
        }
      })
      return sums
    },
  },

到了这里,关于el-table表尾添加合计行,自动合计,且特殊列自定义计算展示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

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

    自己总结的,不好别喷,谢谢~~~  表格触发调用方法  合计行代码 在 合计行方法中 直接去修改了表格样式  

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

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

    2024年02月09日
    浏览(43)
  • element-ui中的el-table的summary-method(合计)的使用

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

    2024年02月11日
    浏览(49)
  • 【解决 Element UI 当中 el-table 中使用 show-summary 不显示合计一行】

    问题:在进行数据统计的过程中使用到了element-ui 的 el-table 组件,出现了合计统计无法渲染情况。 示例场景:在制作统计一栏时需要用到 element-ui 当中的 el-table 表格组件,组件当中有 show-summary 参数可以实现表格的自动合计,在实际开发中出现了渲染失败或不渲染的情况导致

    2024年02月07日
    浏览(53)
  • 解决Element-UI el-table show-summary合计行不显示问题

    一、问题描述 Element的el-table组件在设置表格高度heoght 同时 开启合计行show-summary ,项目中合计这一列不显示,但是缩放下页面或者稍微修改下F12里dom中的东西就又显示了 二、问题分析 查看dom发现,合计一列并未包含在el-table中,而el-table原始文件给的是overflow:hidden; 二、解决

    2024年02月11日
    浏览(74)
  • 如何给el-table添加选中高亮

    首先给el-table添加属性highlight-current-row,当点击当前行的时候会有个默认的高亮 然后可以根据设计图修改选中行的高亮颜色 如果需要做选中的逻辑处理,那么可以给el-table绑定current-change事件

    2024年02月13日
    浏览(53)
  • element plus el-table 添加滚动监听

    项目上使用 el-table 加载1000 条数据,同时有三个列的数据需要实时更新,而数据更新时会导致页面不响应,表现为拖动过程中突然卡顿。为了解决卡顿问题提出了两个解决办法:一个是滚动时清除定时器,不再刷新表格,滚动结束后恢复定时器;另一个是只刷新视口数据,更

    2024年02月06日
    浏览(41)
  • 【vue】el-table实现动态添加行和列

    实现思路: 最近遇到一个动态增加行和列的需求,本来拿到需求的时候想用el-table中自带的方法去实现的,但是经过尝试发现不能满足想要实现的需求。没办法只能在el-table的基础上自己写原生。 大概思路如下: 1.首先把table中需要动态增加的行和列分开,分别定义一个数组

    2024年02月11日
    浏览(46)
  • el-table添加固定高度height后高度自适应

    新建目录src/directive/el-table 在el-table目录下新建文件adaptive.js 在el-table目录下新建index.js 在所需使用的vue页面中引入 import adaptive from ‘…/…/…/src/directive/el-table’ 在main.js中引入 在el-table标签中添加属性 v-adaptive:自定义指令,bottomOffset 代表距离底部的距离 height:高度属性,

    2024年02月08日
    浏览(46)
  • element ui - el-table给单元格添加点击事件

    el-table中,点击版本号触发查看配置功能,但是产品想将热区扩大,从点击版本号扩大到点击整个单元格都可以查看。 在 el-table-column 中的 template 标签里,添加一个 div元素 包裹版本号和el-tag,将点击事件绑定在div元素上 :

    2024年02月12日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包