el-table-column根据不同值显示不同颜色

<el-table-column prop="statusDesc" label="状态" width="90">
    <template slot-scope="scope">
        <div :style="{'color':scope.row.status==1? 'red':'#333'}">                    
            {{scope.row.statusDesc}}
        </div>
    </template>
</el-table-column>

 

### 动态展示不同的方法 为了实现基于数组内容在 `el-table-column` 中动态显示不同,可以利用 Vue.js 的条件渲染功能以及自定义模板插槽。具体来说,在 `<template>` 标签内使用 `slot-scope` 来访问当前行的数据,并根据逻辑判断返回相应的 HTML 或者文本。 下面是一个具体的例子: 假设有一个名为 `statusList` 的数据列表,其中每一项都有一个状态字段 `status`,现在希望依据该字段的不同来改变表格中相应单元格的内容呈现方式。 ```html <el-table :data="tableData"> <!-- ...其他列... --> <el-table-column label="Status" width="180"> <template slot-scope="scope"> <span v-if="scope.row.status === 'active'" style="color:green;"> Active </span> <span v-else-if="scope.row.status === 'pending'" style="color:orange;"> Pending Review </span> <span v-else style="color:red;"> Inactive </span> </template> </el-table-column> <!-- ...更多列... --> </el-table> ``` 在这个案例里,通过 `slot-scope="scope"` 获取到了每行的具体信息 `scope.row`,再结合 `v-if`, `v-else-if` 和 `v-else` 实现了根据不同情况下的 `status` 字段来切换显示的文字颜色和描述[^1]。 如果需要更复杂的操作,比如不仅仅只是简单的文字变化而是要加载额外组件或是执行某些函数,则可以在这些条件下触发特定的行为或调用方法处理业务需求。 对于更加复杂的需求,还可以考虑将上述逻辑封装成计算属性或者方法来进行管理,从而保持视图层代码简洁易读。 另外得注意的是,当涉及到大量数据时,应关注性能优化问题,避免不必要的重绘与回流影响用户体验。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值