欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

element表格合计行,根据合计行的某一列数字来变样式

程序员文章站 2022-06-08 09:06:05
...

首先是elementUI的合计,加了就有合计行

:summary-method="getSummaries" show-summary

然后是普通行的样式

:cell-class-name="cell2ClassName"

最后是合计行的样式

// 格式化样式
    cell2ClassName ({ row, column, rowIndex, columnIndex }) {

,在普通行样式的函数中,我们可以拿到列下标 ,

写一个函数通过 columnIndex 下标拿到列的dom节点,我这里的是通过第3列的数值去判断是否加类名,来改变合计列的样式。

// 格式化合计样式
    getStyle (index) {
      this.$nextTick(() => {
        let dom = this.$refs.tableRef.$refs.footerWrapper.querySelector('.el-table__footer').querySelectorAll('td')[index];
        let val = this.$refs.tableRef.$refs.footerWrapper.querySelector('.el-table__footer').querySelectorAll('td')[index].querySelectorAll('.cell')[0].innerText;
        let lvNmu = this.$refs.tableRef.$refs.footerWrapper.querySelector('.el-table__footer').querySelectorAll('td')[2].querySelectorAll('.cell')[0].innerText
        let TClassName = val < lvNmu ? 'red-cell' : '';
        dom.className = dom.className + ' ' + TClassName;
      })
    }

最后效果如图
element表格合计行,根据合计行的某一列数字来变样式
其实就是操作dom节点,但是我没有其他更好的办法了