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;
})
}
最后效果如图
其实就是操作dom节点,但是我没有其他更好的办法了