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

vue3 el-table 行颜色根据 字段改变

在 Vue 3 中使用 Element Plus 的 <el-table> 组件来根据某个字段改变行的颜色,可以通过自定义渲染函数或使用 row-class-name 属性来实现。以下是两种常见的方法:

方法 1:使用 row-class-name 属性

<el-table> 组件的 row-class-name 属性允许你根据行的数据动态返回一个类名,你可以在这个类名中定义颜色。

<template><el-table :data="tableData" row-class-name="rowClassName"><el-table-column prop="date" label="日期" width="180"></el-table-column><el-table-column prop="name" label="姓名" width="180"></el-table-column><el-table-column prop="address" label="地址"></el-table-column></el-table>
</template><script setup>
import { ref } from 'vue';const tableData = ref([{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄', type: 'A' },{ date: '2016-05-04', name: '张小刚', address: '上海市普陀区金沙江路 1517 弄', type: 'B' },// 更多数据...
]);const rowClassName = ({ row, rowIndex }) => {if (row.type === 'A') {return 'row-color-a';} else if (row.type === 'B') {return 'row-color-b';}return ''; // 默认返回空字符串,不应用任何特殊样式
};
</script><style>
.row-color-a {background-color: #f0f9eb; /* 例如,类型A的行背景色 */
}
.row-color-b {background-color: #ebf4fa; /* 例如,类型B的行背景色 */
}
</style>

方法 2:使用自定义渲染函数

如果你需要更复杂的行样式控制,可以使用 <el-table-column> 的 render 函数来自定义每一行的渲染。

<template><el-table :data="tableData"><el-table-column prop="date" label="日期" width="180"></el-table-column><el-table-column prop="name" label="姓名" width="180"></el-table-column><el-table-column prop="address" label="地址"></el-table-column><el-table-column label="操作" width="100"><template #default="{ row, rowIndex }"><div :class="getRowClass(row)">{{ row.type }}</div></template></el-table-column></el-table>
</template><script setup>
import { ref } from 'vue';const tableData = ref([{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄', type: 'A' },{ date: '2016-05-04', name: '张小刚', address: '上海市普陀区金沙江路 1517 弄', type: 'B' },// 更多数据...
]);const getRowClass = (row) => {if (row.type === 'A') {return 'row-color-a';} else if (row.type === 'B') {return 'row-color-b';}return ''; // 默认返回空字符串,不应用任何特殊样式
};
</script><style>
.row-color-a {background-color: #f0f9eb; /* 例如,类型A的行背景色 */
}
.row-color-b {background-color: #ebf4fa; /* 例如,类型B的行背景色 */
}
</style>

这两种方法都可以根据字段。

http://www.lqws.cn/news/474949.html

相关文章:

  • 企业级安全实践:SSL 加密与权限管理(二)
  • python 常见数学公式函数使用详解
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(三十六) -> 配置构建(三)
  • swift-17-字面量协议、模式匹配、条件编译
  • Java 21 的虚拟线程与桥接模式:构建高性能并发系统
  • Kafka Streams入门与实战:从概念解析到程序开发
  • 架构总结记录
  • VSCode性能调优:从卡顿到丝滑的终极方案
  • C++法则11:没有“顶层 const 引用“
  • 16_设备树中的remote-endpoint演示基于视频字符设备Linux内核模块
  • 深度实战|星环OS三大创新场景解密:如何用确定性技术重构智能汽车安全与体验?
  • Unity高性能无GC图表
  • RSA加密原理及推导
  • 跨个体预训练与轻量化Transformer在手势识别中的应用:Bioformer
  • 深入解析ID3算法:信息熵驱动的决策树构建基石
  • 为车辆提供路径规划解决方案:技术演进、挑战与未来蓝图
  • 微处理器原理与应用篇---CISCRISC指令集架构
  • 2025最新Python 100个常用函数在线体验项目
  • 索引——高效查询的关键
  • python中学物理实验模拟:凸透镜成像和凹透镜成像
  • Python 的内置函数 hash
  • `shallowReactive` 与 `shallowRef`:浅层响应式 API
  • 从零开发ComfyUI插件:打造你的AI绘画专属工具
  • CMAKE
  • wordpress外贸独立站常用留言表单插件 contact form 7
  • Python新春烟花
  • NuttX Socket 源码学习
  • C++ 中 QVector 的判断与操作
  • app专项测试命令如何写?
  • csp基础之进制转换器