通过type="expand"给el-table添加了子列表,导致hover背景色错乱了,修复不起作用
时间: 2024-02-26 10:56:32 浏览: 185
这个问题可能是由于使用了 expand 属性后,子列表的样式覆盖了原本父列表的样式所导致的。解决这个问题可以尝试以下方法:
1. 在 el-table 中添加一个 slot-scope="props" 的属性,并在子组件中使用该属性继承父组件的样式:
```html
<el-table :data="tableData" style="width: 100%">
<el-table-column label="姓名" prop="name">
</el-table-column>
<el-table-column label="年龄" prop="age">
</el-table-column>
<el-table-column label="地址" prop="address" type="expand">
<template slot-scope="props">
<div class="child-table">
<el-table :data="props.row.children" style="width: 100%">
<el-table-column label="子列表姓名" prop="name">
</el-table-column>
<el-table-column label="子列表年龄" prop="age">
</el-table-column>
</el-table>
</div>
</template>
</el-table-column>
</el-table>
```
2. 在样式中使用 /deep/ 或 ::v-deep 选择器来覆盖子组件的样式:
```css
.el-table__row:hover {
background-color: #f5f7fa !important;
}
/* 使用 /deep/ 选择器 */
.child-table /deep/ .el-table__row:hover {
background-color: #f5f7fa !important;
}
/* 使用 ::v-deep 选择器 */
.child-table ::v-deep .el-table__row:hover {
background-color: #f5f7fa !important;
}
```
以上两种方法都可以解决 hover 背景色错乱的问题,具体使用哪种方法可以根据实际情况选择。
阅读全文