【Vue】在el-table的el-table-column中,如何控制单行、单列、以及根据内容单独设置样式。例如:修改文字颜色、背景颜色
在Vue中使用Element UI的el-table
和el-table-column
组件时,可以通过以下方式控制行、列或单独单元格的样式或行为:
- 控制单行样式:可以使用
:row-class-name
属性来为表格中的某一行指定特定的类名。 - 控制单列样式:可以通过
el-table-column
的type
属性为特定列指定类型,然后通过自定义的CSS类来控制样式。 - 根据内容设置样式:可以使用
cell-style
或header-cell-style
属性(对于列头)来为单元格设置样式。
以下是一个简单的例子,展示如何实现上述功能:
<template>
<el-table
:data="tableData"
style="width: 100%"
:row-class-name="tableRowClassName"
:cell-style="tableCellStyle"
>
<el-table-column
prop="date"
label="日期"
width="180"
:header-cell-style="{ background: 'lightblue' }"
></el-table-column>
<el-table-column
prop="name"
label="姓名"
width="180"
:header-cell-style="{ background: 'green' }"
></el-table-column>
<el-table-column
prop="address"
label="地址"
:header-cell-style="{ background: 'orange' }"
></el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [{ date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }],
};
},
methods: {
tableRowClassName({ row, rowIndex }) {
if (rowIndex === 1) {
return 'warning-row';
} else if (rowIndex === 3) {
return 'success-row';
}
return '';
},
tableCellStyle({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1 && rowIndex === 1) {
return 'color: red;';
}
return '';
},
},
};
</script>
<style>
.warning-row {
background: oldlace;
}
.success-row {
background: #f0f9eb;
}
</style>
在这个例子中,tableRowClassName
方法根据行索引来为行设置不同的类名,从而改变背景色。tableCellStyle
方法根据单元格位置来设置文本颜色。CSS中定义了两个类,.warning-row
和.success-row
,分别用于设置不同的背景色。这些类名和样式可以根据实际需求进行调整。
评论已关闭