使用element plus中table组件header样式的几种方式

3,330 阅读1分钟

由于element plus官网写的不够详细,笔者写下了这篇文章

技术基于:element plus + vue3

方式一:header-cell-style实现,也是最简单的

文档给的解说如下:

实现代码如下(建议方式,最简单的实现)

<el-table
  :header-cell-style="{backgroundColor: '#f2f2f2',color: '#333333'}">
</el-table>

实现效果

image.png

方式二:headerCellClassName实现

html部分代码

<el-table
    :header-cell-class-name="headerCellClassName">
</el-table>

js部分代码

function headerCellClassName({ row, column, rowIndex, columnIndex }) {
  if (rowIndex === 0) {
    return 'warning-row'
  }
}

css部分代码

<style lang="scss" scoped>
::v-deep .el-table .warning-row {
  background-color: pink;
  color: red;
}

实现分析,为什么要用样式穿透,什么是样式穿透看看笔者这篇文章:关于样式穿透,可以看到我们把这个样式写到表头th上去了,可以看下图,但是我们样式是写到模块里面的,scoped会限制它的作用,去掉scoped,或者使用一下样式穿透它就可以生效,去掉scoped可能会影响外部样式。

效果如下:

image.png

方式三:header-row-style

按照道理来说可以实现 工作摸鱼时间有限,待笔者补充...

方式四:header-row-class-name

按照道理来说可以实现 工作摸鱼时间有限,待笔者补充...