element-UI里table设置默认高亮一行或者选中某一行

12 篇文章 0 订阅

本方案支持颜色自定义,高亮行数自定义,可高亮多行,可定义多个颜色,主要实现方式是css样式,代码简单易懂,下面看效果和代码吧:
当前效果:
在这里插入图片描述
预期效果:
在这里插入图片描述
代码:这是HTML代码 绑定这个属性:row-class-name=“tableRowClassName”

<el-table
:data="tableData"
 style="width: 100%"
 :row-class-name="tableRowClassName">
 <el-table-column
   prop="date"
   label="日期"
   width="180">
 </el-table-column>
 <el-table-column
   prop="name"
   label="姓名"
   width="180">
 </el-table-column>
 <el-table-column
   prop="address"
   label="地址">
 </el-table-column>
</el-table>

这是JS代码 注册这个方法tableRowClassName(),这里传的rowIndex就是需要高亮的数据在数组里面的下标,返回的class类名就是你自己定义的class类名。

 methods: {
  tableRowClassName({row, rowIndex}) {
     if (rowIndex === 1) {
       return 'warning-row';
     } else if (rowIndex === 3) {
       return 'success-row';
     }
     return '';
   }
 },

这是CSS代码,颜色可以自定义,class类名可自定义

<style>
  .el-table .warning-row {
    background: oldlace;
  }

  .el-table .success-row {
    background: #f0f9eb;
  }
</style>
在使用element-uitable组件并设置fixed属性后,如果在表格中的复选框处点击选择时,可能会出现高亮显示问题。 通常,当表格的列设置为fixed属性时,该列的宽度将固定不变,无法随表格的水平滚动而移动。这是为了保持固定的布局,以便在表格内容较多时的视觉统一性和可读性。 然而,当我们在fixed列中的复选框处点击选择时,由于默认的样式设置,点击复选框将触发复选框所在单元格的选中状态,而不是复选框本身的高亮显示。这可能会导致用户选择复选框时,无法正确地看到复选框是否被选中的视觉反馈。 要解决这个问题,我们可以使用element-ui的slot插槽来自定义复选框的显示方式。通过在表格组件中添加一个slot插槽,并在插槽中添加复选框元素及其样式,我们可以实现在fixed列中点击复选框时,正确高亮显示复选框的效果。 具体代码示例如下: ```html <el-table :data="tableData" style="width: 100%"> <el-table-column type="selection" fixed align="center" width="50" > <template slot-scope="{ row }"> <div class="custom-checkbox"> <el-checkbox v-model="row.selected"></el-checkbox> </div> </template> </el-table-column> <!-- 其他表格列 --> </el-table> ``` 在上述代码中,我们使用了slot插槽来自定义复选框的显示方式。通过`<template slot-scope="{ row }">`,我们可以获取到每一行的数据对象,并在`<el-checkbox>`元素中使用`v-model="row.selected"`来实现复选框的选中状态。 通过添加自定义的样式,例如`.custom-checkbox`,我们可以为复选框设置高亮显示效果。 这样一来,当我们在fixed列中点击复选框时,复选框会正确高亮显示,以提供正确的视觉反馈。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端攻城狮路飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值