You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Element UI表格单个列表头的背景色(Vue.js环境)

搞定Element UI el-table指定列头背景色+动态修改的方法

方案一:用el-table的header-cell-class-name加自定义类

el-table本身提供了header-cell-class-name属性(支持动态绑定),能给指定列的表头单元格单独加类,步骤很简单:

  1. 给el-table绑定这个属性:
<el-table
  :data="tableData"
  :header-cell-class-name="setHeaderClass"
>
  <el-table-column prop="columnName" label="Column Name" />
  <el-table-column prop="otherColumn" label="Other Column" />
</el-table>
  1. 写个方法判断目标列,返回类名:
methods: {
  setHeaderClass({ column }) {
    // 按列的prop或者label来匹配都行,这里用prop举例
    return column.prop === 'columnName' ? 'custom-column-header' : '';
  }
}
  1. 加CSS样式(如果是scoped样式,记得加::v-deep穿透):
/* scoped模式下 */
::v-deep .custom-column-header {
  background-color: #000;
}

/* 非scoped直接写 */
.custom-column-header {
  background-color: #000;
}

方案二:动态修改背景色(直接绑定变量)

如果要随时切换背景色,用header-cell-style更直接,不用写类:

  1. 给el-table绑定header-cell-style:
<el-table
  :data="tableData"
  :header-cell-style="getHeaderStyle"
>
  <el-table-column prop="columnName" label="Column Name" />
  <el-table-column prop="otherColumn" label="Other Column" />
</el-table>
  1. 定义变量+判断方法:
data() {
  return {
    targetHeaderBg: '#000', // 改这个变量就能实时变背景色
    tableData: [...]
  };
},
methods: {
  getHeaderStyle({ column }) {
    if (column.prop === 'columnName') {
      return { backgroundColor: this.targetHeaderBg };
    }
    return {};
  }
}

为啥你之前的代码没用?

header-class-name是el-table的属性,不是el-table-column的,所以你写在el-table-column上根本不会生效,得通过el-table提供的表头单元格回调来实现指定列的样式自定义。

内容的提问来源于stack exchange,提问作者orin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 10:25:07