解决el-table同时设置两种行样式的问题,使用rowclassname和rowstyle

问题描述:
在单双行背景样式不同的同时,实现根据状态改变列表行的文字颜色。
效果图如下:
在这里插入图片描述

修改前表格效果:

在这里插入图片描述

原本尝试在rowclassname函数中写,却发现逻辑是冲突的,单双行return后,不能再进行状态的判断了,

在这里插入图片描述

随后又想尝试在rowclassname属性中添加两个函数,比如:row-class-name="[ tableRowClassName, tableRowStyle ]",发现el-table不支持这种写法,两个类名都无法生效

最后在官网找到table的rowstyle属性
在这里插入图片描述
随即修改代码如下

		<el-table
          id="warn_table"
          :data="warnData"
          :row-class-name="tableRowClassName"
          :row-style="tableRowStyle"
          style="width: 99%;margin-left: 5px;"
        >
const tableRowStyle = (row)=> {
  if (row.row.status === '已处理') {
    return {
      color: '#36BE21'
    };
  } else if (row.row.status === '未处理') {
    return {
      color: 'red'
    };
  }
};
const tableRowClassName = ({ rowIndex }): string=> {
  if ((rowIndex + 1) % 2 === 0) {
    return 'odd-row';
  } else {
    return 'even-row';
  }
};

解决问题,表格样式和效果图一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值