在Vue.js中使用Element UI的el-table
组件时,可以通过使用cell-style
或row-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="address"
label="地址"
></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '李小虎',
address: '上海市普陀区金沙江路 1517 弄'
}, {
date: '2016-05-01',
name: '赵小虎',
address: '上海市普陀区金沙江路 1519 弄'
}, {
date: '2016-05-03',
name: '孙小虎',
address: '上海市普陀区金沙江路 1516 弄'
}]
};
},
methods: {
cellStyle({ row, column, rowIndex, columnIndex }) {
// 根据数据值改变背景颜色
if (column.property === 'name') {
if (row.name === '王小虎') {
return 'background-color: #f56c6c; color: #fff;';
} else if (row.name === '李小虎') {
return 'background-color: #e6f7ff; color: #909399;';
}
}
}
}
};
</script>
在这个例子中,cell-style
属性绑定了一个方法cellStyle
,该方法接受一个对象参数,该对象包含当前单元格的信息。根据column.property
判断当前是哪一列,然后根据单元格数据值改变背景颜色。在这个例子中,如果姓名是"王小虎",则背景色为红色,如果是"李小虎",则背景色为蓝色。