el-table表格根据不同内容渲染不同背景颜色

本文介绍如何在Vue项目中,通过监听后台数据并利用`cell-class-name`属性动态地为表格单元格渲染不同背景颜色。具体实现包括在`el-table`组件中添加`cell-class-name`属性,根据条件判断单元格状态,并结合CSS样式实现特定状态的高亮显示。
摘要由CSDN通过智能技术生成
  1. 根据不同的状态,为了方便区分,给单元格渲染出不同的背景颜色
  2. 效果图:
    在这里插入图片描述

    因为后台返回数据的原因,暂时只能看到这样的效果

3.代码

:cell-class-name=“cellClassName”//在表格中加入这一行代码,为 Table 中的单元格添加 class,表明该行处于某种状态

<el-table
          ref="crud"
          class="check-all-hide"
          :data="recordList"
          border
          @selection-change="selectionChange"
          @row-click="handleRowClick"
          style="width: 100%"
          :max-height="mainHeight - 300"
          :cell-class-name="cellClassName"   
        >
        </el-table>

//如果状态少,可以直接写if判断, 通过 rowIndex, columnIndex 可判断处于哪一行哪一列,index从0开始,也可以通过属性值判断,return出来的就是设置的class类名

cellClassName({ row, column, rowIndex, columnIndex }) {
      if (column.label == "上班打卡时间" || column.label == "下班打卡时间") {
        switch (row.userStartTime || row.userEndTime) {
          case "补卡":
            return "Card";
            break;
          case "缺卡":
            return "absenteeism";
            break;
          case "迟到" || "早退":
            return "late";
            break;
          case "请假":
            return "leave";
            break;
          case "外出":
            return "out";
            break;
        }
      }
    }
//样式文件
/deep/.Card {
 background-color:rgba($color:  #92d050, $alpha:0.7);
}
/deep/.absenteeism {
  background-color: rgba($color: #00b0f0, $alpha: 0.7);
}
/deep/.late {
  background: rgba($color: #ffc000, $alpha: 0.7);
}
/deep/.leave {
  background: rgba($color: #92d050, $alpha: 0.7);
}
/deep/.out {
  background: rgba($color: #fff2cc, $alpha: 1.0);
}
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值