实现修改el-table表格中的字体或背景颜色

需求:计算两数之差,并且在表格中显示,当差大于0,则当前的背景色或字体颜色为绿色,小于0则 显示其他颜色,等于0则正常显示

html 复制代码
<el-table v-loading="loading" :data="list" highlight-current-row stripe border
 :header-cell-style="labelStyle" :cell-style="changeBg" height="580px">
    <el-table-column prop="country" width="100" align="center"></el-table-column>
    <el-table-column width="100" align="center">
        <template slot-scope="{ row }">
            {{ row.num1- row.num2}}
        </template>
    </el-table-column>
    <el-table-column prop="num1" label="数据1" min-width="100" align="center"></el-table-column>
    <el-table-column prop="num2" label="数据2" min-width="100"
                        align="center"></el-table-column>
</el-table>
javascript 复制代码
/* data 部分 */
data() {
    return {
        labelStyle: {   //修改table 头部header样式
            fontSize: '24px',
            fontWeight: 600,
            color: '#585858',
        }
    }
}

/* methods 函数部分 */

// 改变table字体颜色
changeBg({ row, column, rowIndex, columnIndex }) {
            const diff = row.patsanp_patent_num - row.heima_patent_num;
            if (diff > 0 && columnIndex === 1) { // columnIndex 代表第几列
                return {
                    color: '#45A321',
                    fontWeight: 600
                }
            } else if (diff < 0 && columnIndex === 1) {
                return {
                    color: '#d11a32',
                    fontWeight: 600
                }
            } else if (diff == 0 && columnIndex === 1) {
                return {
                    color: '#000',
                }
            }
            else if (columnIndex === 0) {
                // 获取第二列的字体颜色
                const secondColumnColor = this.changeBg({
                    row,
                    column,
                    rowIndex,
                    columnIndex: 1
                }).color;
                return {
                    color: secondColumnColor,
                    fontWeight: 600
                };
            }
}
相关推荐
神探小白牙2 小时前
eCharts 多系列柱状图增加背景图
javascript·ecmascript·echarts
追风筝的人er4 小时前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
前端·vue.js·后端
编程老船长7 小时前
解决不同项目需要不同 Node.js 版本的问题
前端·vue.js
薛定猫AI8 小时前
【深度解析】Gemma Chat 本地 AI 编程 Agent:Electron + MLX + 开源模型的离线 Vibe Coding 实战
javascript·人工智能·electron
全栈前端老曹9 小时前
【前端地图】多地图平台适配方案——高德、百度、腾讯、Google Maps SDK 差异对比、封装统一地图接口
前端·javascript·百度·dubbo·wgs84·gcj-02·bd09
笑虾9 小时前
Win10 修改注册表 让鼠标悬停PNG上时 tip 始终显示分辨率
开发语言·javascript·ecmascript
xiaogg36789 小时前
spring oauth2 单点登录
java·vue.js·spring
雾岛听风6919 小时前
JavaScript基础语法速查手册
开发语言·前端·javascript
前端那点事9 小时前
Vue前端SEO优化全攻略(实操落地版,新手也能上手)
前端·vue.js
用户2367829801689 小时前
从零实现 GIF 制作工具:LZW 压缩与 Median Cut 色彩量化
前端·javascript