<template>
<el-table
:data="tableData"
:row-style="tableRowStyle"
:header-cell-style="tableHeaderColor">
<el-table-column
property="name"
label="姓名"
width="120">
</el-table-column>
<el-table-column
property="age"
label="年龄"
width="120">
</el-table-column>
<el-table-column
property="sex"
label="性别"
width="120">
</el-table-column>
</el-table>
</template>
<script>
export default {
name: 'table',
data() {
return {
tableData: [
{
name: 'Cindy',
age: 20,
sex: '女'
},
{
name: 'Mila',
age: 22,
sex: '女'
},
{
name: 'Bob',
age: 23,
sex: '男'
}
]
}
},
created() {},
methods: {
// 修改table tr行的背景色
tableRowStyle({ row, rowIndex }) {
return 'background-color: pink'
},
// 修改table header的背景色
tableHeaderColor({ row, column, rowIndex, columnIndex }) {
if (rowIndex === 0) {
return 'background-color: lightblue;color: #fff;font-weight: 500;'
}
}
}
}
</script>
最近在使用vue+element-ui开发中遇到需要改变当前行样式的需求,于是就是用官方文档里边的row-style,发现不生效
<el-table
:data="tableData"
border
:row-style='rowstyles'
style="width: 100%">
<el-table-column
prop="date"
label="日期"
width="180">
</el-table-column>
<el-table-column
label="姓名"
width="180">
</el-table-column>
<el-table-column
label="地址">
</el-table-column>
</el-table>
methods: {
rowstyles({row,rowIndex}){
我一开始写的是
return 'color:red';
然后发现怎么都不生效
后来改成一对象的形式返回就可以了。
let styleJson = {
"display":"none"
};
return styleJson
},
}