el-table实现合并单行表头并设置背景色

复制代码
<div style="background-color: black">
	<el-table
          class="mytTable"
          :data="tableData"
          border
          :header-cell-class-name="headerClass"
          style="width: 1000px">
        <el-table-column prop="name" label="设备名称" width="180"></el-table-column>
        <el-table-column label="ZY1" align="center">
          <el-table-column prop="content1"></el-table-column>
          <el-table-column prop="content2"></el-table-column>
          <el-table-column prop="content3"></el-table-column>
          <el-table-column prop="content4"></el-table-column>
          <el-table-column prop="content5"></el-table-column>
        </el-table-column>
      </el-table>
</div>

<script setup>
import {ref, onMounted} from 'vue';
const tableData = ref([])

onMounted(() => {
  for (let i = 0; i < 10; i++) {
    let data = {
      name: 'Tom'+i,
      content1: 'No. '+i,
      content2: 'No. '+i,
      content3: 'No. '+i,
      content4: 'No. '+i,
      content5: 'No. '+i,
    }
    tableData.value.push(data)
  }
});

function headerClass(row) {
  if (row.rowIndex === 1) {
    return 'header-row-display';	
  }
}
</script>

<style scoped>
.mytTable{
  background-color: transparent !important;
}

.mytTable ::v-deep .el-table th.el-table__cell, ::v-deep .el-table th, ::v-deep .el-table tr{
  color: white;
  background-color: transparent !important;
}

/*鼠标移入某行时的背景色*/
::v-deep .el-table--enable-row-hover .el-table__body tr:hover > td {
  background-color: black;
}
/*设置单元格不可见*/
/deep/ .header-row-display {
  display: none;
}
</style>

效果如下图

如果不加鼠标移入某行时的背景色的样式,鼠标放在表格上面会是默认的高亮颜色,这个可以根据自己的背景色去设置高亮颜色

合并行后实际上会有第二行子表头(如下图所示),这里header-row-display样式设置子表头不可见,就实现了单行合并

相关推荐
计算机学姐11 分钟前
基于SpringBoot的校园二手交易系统
java·vue.js·spring boot·后端·spring·tomcat·intellij-idea
冰暮流星19 分钟前
javascript之回调函数
开发语言·前端·javascript
wuhen_n27 分钟前
Vue3 组件中的图片懒加载与渐进式加载
前端·javascript·vue.js
叫回忆27 分钟前
elpis的npm抽离与发布
前端·javascript
wuhen_n35 分钟前
Vite 构建层面的图片优化:从压缩到转换
前端·javascript·vue.js
Irene199136 分钟前
Vue3 的 Proxy 与 Vue2 的 Object.defineProperty 的对比
vue.js·proxy·defineproperty
hashiqimiya36 分钟前
vue项目组装-路由-文件修改地方
前端·javascript·vue.js
回到原点的码农1 小时前
TypeScript 与后端开发Node.js
javascript·typescript·node.js
@yanyu6661 小时前
04vue3基础
前端·javascript·vue.js
SuperEugene1 小时前
Vue3 Props 传参实战规范:必传校验 + 默认值 + 类型标注,避开 undefined / 类型混用坑|Vue 组件与模板规范篇
前端·javascript·vue.js·前端框架