el-table根据单元格数值添加背景颜色

需求:找出表格最大值,除以5,判断每一个单元格数据在5等份的哪一份,给对应的单元格添加背景颜色、字体颜色。

突破点:

1.el-table中的cell-style这个方法

2.拿到最大值

代码如下:

//arr是我拿到的表格数据,这里用parseFloat是因为项目中返回的是小数   
cellStyle({ row, column }) {
      let max = parseFloat(this.arr[0])
      for (let i = 0; i < this.arr.length; i++) {
        if (parseFloat(this.arr[i]) > max) {
          max = parseFloat(this.arr[i])
        }
      }
      const averageTable = (max / 5).toFixed(2)
      const oneTbale = averageTable * 1
      const twoTable = averageTable * 2
      const threeTable = averageTable * 3
      const fourTable = averageTable * 4
      const fiveTable = averageTable * 5
      const colVal = row[column.property] //拿到每一个单元格的数据
      if (column.property == 'rangeCnt') { //列名叫rangeCnt的,不做颜色处理
        return {
          background: '#ffffff',
          color: '#333',
          padding: '1px'
        }
      }
      if (parseFloat(colVal) > 0.00 && parseFloat(colVal) < oneTbale) {
        return {
          background: '#c3dbf5',
          color: '#333',
          padding: '1px'
        }
      } else if (parseFloat(colVal) <= twoTable && parseFloat(colVal) > oneTbale) {
        return {
          background: '#62a2e6',
          color: '#333',
          padding: '1px'
        }
      } else if (parseFloat(colVal) <= threeTable && parseFloat(colVal) > twoTable) {
        return {
          background: '#3386de',
          color: '#ffffff',
          padding: '1px'
        }
      } else if (parseFloat(colVal) <= fourTable && parseFloat(colVal) > threeTable) {
        return {
          background: '#066bd7',
          color: '#ffffff',
          padding: '1px'
        }
      } else if (parseFloat(colVal) <= fiveTable && parseFloat(colVal) > fourTable) {
        return {
          background: '#044c99',
          color: '#ffffff',
          padding: '1px'
        }
      } else {
        return {
          background: '#ffffff',
          color: '#333',
          padding: '1px'
        }
      }
    }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值