ElementUI的el-table表格使用cell-style根据表格不同数据显示不同颜色
在ElementUI中,可以通过cell-style
属性来设置表格单元格的样式。如果你想根据单元格的数据不同来显示不同的颜色,你可以传递一个函数给cell-style
,这个函数会根据行数据和列数据来返回样式字符串。
以下是一个简单的例子,演示如何根据单元格数据设置不同的颜色:
<template>
<el-table
:data="tableData"
style="width: 100%"
:cell-style="cellStyle"
>
<el-table-column
prop="date"
label="日期"
width="180">
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180">
</el-table-column>
<el-table-column
prop="score"
label="分数">
</el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [{
date: '2016-05-02',
name: '张三',
score: 60
}, {
date: '2016-05-04',
name: '李四',
score: 92
}, {
date: '2016-05-01',
name: '王五',
score: 70
}, {
date: '2016-05-03',
name: '赵六',
score: 88
}]
};
},
methods: {
cellStyle({ row, column, rowIndex, columnIndex }) {
if (column.property === 'score') {
// 假设我们认为分数小于 60 的话显示红色
return row.score < 60 ? 'background-color: red; color: white;' : '';
}
return '';
}
}
};
</script>
在这个例子中,我们定义了一个cellStyle
方法,它接受一个对象作为参数,该对象包含了当前单元格的信息,如行数据row
、列数据column
、行索引rowIndex
和列索引columnIndex
。如果单元格所在的列是'score'列,并且分数小于60,则返回一个包含背景色和文本颜色的样式字符串。这样表格中分数小于60的单元格会显示红色背景和白色文本。其他单元格保持默认样式。
评论已关闭