工作记录 -- el-table 组件 row-class-name无效的坑

el-table 组件使用 row-class-name属性无效

解决方案

  1. 网上搜索所得方案

在这里插入图片描述

  1. 比对之后所得结果
    在这里插入图片描述

我把官方案例完整的复制到自己的页面中发现row-class-name属性是可以生效的,经过仔细对比,只有在style样式中的scoped属性存在差异,其他没有差别。
解决方法:把当前组件中style的scoped属性删除即可。如果某一行的row-class-name没有生效,可能是stripe和row-class-name属性冲突导致的,此时可以把stripe属性删除即可!

`el-table` 组件可以通过 `cell-class-name` 属性动态设置单元格的 class 名称。这个属性需要绑定一个函数,该函数接收三个参数:`{row, column, rowIndex, columnIndex}`,分别表示当前单元格所在的行数据、列数据、行索引和列索引。 下面是一个示例: ```html <el-table :data="tableData"> <el-table-column prop="name" label="Name" /> <el-table-column prop="age" label="Age" /> <el-table-column prop="address" label="Address" /> <el-table-column label="Operation"> <template slot-scope="scope"> <el-button type="text" @click="deleteRow(scope.$index)">Delete</el-button> </template> </el-table-column> <el-table-column prop="score" label="Score" :cell-class-name="setCellClassName" /> </el-table> ``` ```js export default { data() { return { tableData: [ { name: 'John', age: 18, address: 'New York', score: 90 }, { name: 'Tom', age: 22, address: 'London', score: 80 }, { name: 'Lucy', age: 20, address: 'Paris', score: 85 }, ], }; }, methods: { setCellClassName({ row, column, rowIndex, columnIndex }) { if (rowIndex % 2 === 0) { // 偶数行的单元格添加背景色 return 'even-row'; } else { // 奇数行的单元格添加边框 return 'odd-row'; } }, deleteRow(index) { this.tableData.splice(index, 1); }, }, }; ``` 在上面的示例中,我们为 `tableData` 数组中的每个对象添加了一个 `score` 属性,并将其绑定到了 `el-table-column` 组件的 `prop` 属性上。然后我们在第四个 `el-table-column` 组件中使用了 `cell-class-name` 属性,并将其绑定到了 `setCellClassName` 方法上。`setCellClassName` 方法根据当前单元格所在的行索引,来动态地设置单元格的 class 名称。这样,在渲染表格时,奇数行的单元格会有一个 `odd-row` 的边框样式,而偶数行的单元格会有一个 `even-row` 的背景色样式。 希望这个示例可以帮助您理解 `el-table` 组件的 `cell-class-name` 属性的用法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值