前言
最近在工作中用到了element-ui,修改table斑马条纹颜色属实是花了些时间。总结出来分享给大家,希望可以帮到有需要的人。
带斑马纹的表格
在<el-table>
标签上添stripe
属性可以创建带斑马纹的表格。stripe
属性默认是true。
<el-table stripe>
修改斑马条纹颜色
首先,在<el-table>
标签上添加row-class-name
属性,row-class-name
是列表行的回调方法,可以使用为所有行设置一个固定的 className。
<el-table stripe :row-class-name="onTableRowClassName">
row-class-name
属性值可以是一个字符串也可以是函数function({ row, rowIndex })
;
第一个参数
row
是当前行的数据, 第二个参数rowIndex
是列表的当前行数。
注意:
row-class-name
是属性不是方法,使用在<el-table>
标签上是:row-class-name="xxx"
,而不是@row-class-name="xxx"
。
然后,在绑定的方法中为偶数行(包含第0行)添加上对应的className;
const onTableRowClassName = ({row, rowIndex})=>{
if (rowIndex%2==0) {
return 'statistics-warning-row';
} else {
return '';
}
}
最后,找到选择器的位置,修改成想要的样式即可。
.el-table__row.statistics-warning-row .cell {
background: #00ff00;
}
页面效果
示例代码
<template>
<el-table :data="tableData" stripe style="width: 100%" :row-class-name="onTableRowClassName">
<el-table-column prop="date" label="Date" width="180" />
<el-table-column prop="name" label="Name" width="180" />
<el-table-column prop="address" label="Address" />
</el-table>
</template>
<script lang="ts" setup>
const tableData = [
{
date: '2022-08-08',
name: '张三',
address: '北京市',
},
{
date: '2022-08-08',
name: '张三',
address: '北京市',
},
{
date: '2022-08-08',
name: '张三',
address: '北京市',
},
{
date: '2022-08-08',
name: '张三',
address: '北京市',
},
]
const onTableRowClassName = ({row, rowIndex})=>{
if (rowIndex%2==0) {
return 'statistics-warning-row';
} else {
return '';
}
}
</script>
<style>
.el-table .cell {
color: #fff;
background: #000000;
}
.el-table__row.statistics-warning-row .cell {
background: #00ff00;
}
</style>
结语
本文到此结束
如果大家还有什么其他想法,欢迎在评论区交流!