当前位置: 首页 > news >正文

在 Element UI 的 el-table 中实现某行标红并显示删除线

方法 1:使用 row-class-name 绑定行样式类

<template><el-table:data="tableData":row-class-name="getRowClassName"style="width: 100%"><el-table-column prop="name" label="姓名"></el-table-column><el-table-column prop="age" label="年龄"></el-table-column><el-table-column prop="status" label="状态"></el-table-column></el-table>
</template><script>
export default {data() {return {tableData: [{ name: '张三', age: 25, status: '正常' },{ name: '李四', age: 30, status: '已删除', deleted: true }, // 标记需要删除线的行{ name: '王五', age: 28, status: '正常' }]};},methods: {getRowClassName({ row }) {if (row.deleted) {return 'deleted-row'; // 返回自定义类名}return '';}}
};
</script><style>
/* 删除线行样式 */
.el-table .deleted-row {background-color: #ffcccc !important; /* 红色背景 */
}.el-table .deleted-row td .cell {text-decoration: line-through; /* 文字删除线 */color: #f56c6c !important;    /* 红色文字 */
}
</style>

方法 2:使用 cell-class-name 实现(更细粒度控制)

<template><el-table:data="tableData":cell-class-name="getCellClassName"style="width: 100%"><!-- 列定义 --></el-table>
</template><script>
export default {methods: {getCellClassName({ row, columnIndex }) {if (row.deleted) {return 'deleted-cell'; // 整行单元格应用样式}return '';}}
};
</script><style>
/* 单元格样式 */
.el-table .deleted-cell {background-color: #ffcccc !important;text-decoration: line-through !important;color: #f56c6c !important;
}
</style>

关键说明:

  1. 标记删除行:在数据对象中添加标识属性(如 deleted: true

  2. 样式覆盖

    • !important 用于覆盖 Element UI 默认样式

    • 背景色使用浅红色(#ffcccc

    • 文字使用红色(#f56c6c)加删除线

  3. 动态判断

    if (row.deleted) { // 根据你的业务标识判断return 'your-class-name';
    }

效果特点:

  • 整行红色背景突出显示

  • 所有单元格文字带删除线

  • 自动适应固定列、多级表头等复杂场景

注意:如果使用 scoped CSS,需要添加深度选择器:

/* 深度选择器写法 */
::v-deep .el-table .deleted-row { ... }
/* 或 */
:deep(.el-table .deleted-row) { ... }

根据实际需求选择方法,通常推荐使用 row-class-name 方式,能更好地控制整行样式。

http://www.xdnf.cn/news/1316053.html

相关文章:

  • 【PHP】Hyperf:接入 Nacos
  • Centos中内存CPU硬盘的查询
  • vscode无法检测到typescript环境解决办法
  • OpenCV 图像处理核心技术:边界填充、算术运算与滤波处理实战
  • 大模型应用发展与Agent前沿技术趋势(中)
  • JVM常用工具:jstat、jmap、jstack
  • 【Linux】IO多路复用
  • 17-线程
  • Python自学10-常用数据结构之字符串
  • Python异常、模块与包(五分钟小白从入门)
  • 文件快速复制工具,传输速度提升10倍
  • riscv中断处理软硬件流程总结
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day6
  • Vue3 中的 ref、模板引用和 defineExpose 详解
  • 安卓14系统应用收不到开机广播
  • 【Java后端】Spring Boot 集成 MyBatis-Plus 全攻略
  • 大模型算法岗面试准备经验分享
  • (机器学习)监督学习 vs 非监督学习
  • 智能制造——解读37页 案例分享灯塔工厂解决方案【附全文阅读】
  • 电子电气架构 --- 自动驾驶汽车的下一步发展是什么?
  • LeetCode 分类刷题:2962. 统计最大元素出现至少 K 次的子数组
  • 零墨云A4mini打印机设置电脑通过局域网络进行打印
  • 详解flink java基础(一)
  • Flink作业执行的第一步:DataFlow graph的构建
  • nodejs 错误处理
  • Gradle快速入门学习
  • 数据结构初阶(19)外排序·文件归并排序的实现
  • 机器学习案例——对好评和差评进行预测
  • error #include<cuda_runtime_api.h>解决方案
  • Java基础 8.17