问题描述:
在单双行背景样式不同的同时,实现根据状态改变列表行的文字颜色。
效果图如下:
修改前表格效果:
原本尝试在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';
}
};
解决问题,表格样式和效果图一致。