实现修改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
                };
            }
}
相关推荐
2501_944521595 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
Ken_11157 小时前
小体积附件下载正常,大附件下载异常
javascript
变与不变8067 小时前
jQuery怎么使用
前端·javascript
paopaokaka_luck8 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
仰望.8 小时前
vue 表格组件 vxe-table 树表格懒加载支持拖拽排序的详细用法
前端·javascript·vue.js·vxe-table
程序员初一10 小时前
我把跑了两年 WordPress 的机器重装了一遍,顺便把面板卸了
javascript
kyriewen10 小时前
别再用防抖做懒加载了:120 张图只加载出 4 张
前端·javascript·程序员
CodeMi12 小时前
2026 CSS 接管了这些 JS 的活:6 个 Baseline 特性的落地取舍
javascript·css
康小旺12 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
vue.js·typescript
全栈项目管理程序猿12 小时前
ArcGIS JS 基础教程(35):体元系列 - VoxelLayer 时间维度动画
前端·javascript