Element Plus表格中插入颜色块及固定列变色解决方案

作者:交互手记时间:2026-10-31 09:51:52浏览:298

本文介绍如何在Element Plus表格中通过插入颜色块显示数据状态,并解决使用row-class-name自定义行样式时固定列颜色不同步的问题。通过定位.el-table-fixed-column类并覆盖背景色,实现左右固定列与内容列样式一致,提升表格美观度。

在Element Plus表格中插入颜色块以直观显示数据状态

在Element Plus表格中插入颜色块以直观显示数据状态

DOM结构部分:

 <el-table-column  label="是否异常">
        <template slot-scope="scope">
          <div class="dcs_sf_red" v-if="scope.row.sfyc == 0"></div>
          <div class="dcs_sf_green" v-if="scope.row.sfyc == 1"></div>
        </template>
      </el-table-column>

数据定义部分:

data [
        {
          date: '00:00',
          mode: '固定模式',
          jhz: 120,
          sfyc: 0,
          sjz: 120,
          sfxy: 1,
          fkz: 110,
          cgfs: 1,
        }]

CSS样式部分:

.dcs_sf_red{
  margin-left: 30%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #FE685D;
}
.dcs_sf_green{
  margin-left: 30%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #5DFE96;
}

Element Plus表格固定列颜色同步解决方案

前言:某些行需要改变背景颜色,因此我们使用了row-class-name方法。然而,发现固定列的颜色并未随之改变。

<el-table :row-class-name="tableRowClassName">xxx</el-table>
const tableRowClassName = (value) => {
  if (JSON.stringify(row.stopApplyType) != 'null') {
    console.log('停发')
    return 'error-row'
  } else {
    return ''
  }
}
<style>
.el-table .error-row {
  --el-table-tr-bg-color: var(--el-color-error-light-9);
}
</style>

在Element Plus表格中插入颜色块以直观显示数据状态

这种情况视觉效果不佳,因此我们检查了固定列的CSS绑定的class。随后在app.vue中添加以下代码:.el-table-fixed-column--left 用于处理左侧固定列,.el-table-fixed-column--right 用于处理右侧固定列。

//红色的
.el-table .error-row {
  --el-table-tr-bg-color: var(--el-color-error-light-9);
}
.el-table .error-row .el-table-fixed-column--left {
  background-color: #fef0f0;
}
.el-table .error-row .el-table-fixed-column--right {
  background-color: #fef0f0;
}

在Element Plus表格中插入颜色块以直观显示数据状态

这样做之后,表格外观更加美观,问题得到解决!

到此这篇关于Element Plus表格中插入颜色块显示数据状态的文章就介绍到这了,更多相关Element Plus表格内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

作者最新文章