el-table修改字体颜色(包括行高亮时)和动态设置行背景色

文章讲述了在使用组件时遇到的行样式和单元格样式设置不生效的问题。通过使用cell-class-name方法定位并成功设置字体颜色,同时调整了高亮状态下的颜色。此外,还介绍了如何动态改变行的背景色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发现问题

1、使用组件自带的行方法row-style或者单元格方法cell-style设置字体颜色,发现设置不生效

2、控制台查看元素,发现cell-style定位不到真正的字体位置,而是上面一层

解决问题

3、使用组件自带单元格方法cell-class-name来设置一个class到外面这层元素中,来方便明确定位,最终定位在这个class的cell中

 

 到这里字体颜色就设置成功了

4、因为我把字体设置成了白色,发现组件自带的行高亮时字体颜色和背景色太过相近,决定修改高亮时的颜色,元素中查看发现组件高亮时添加了hover-row的class

 所以就这样写

设置成功

 补充:行的背景色改为动态红色,这里用el-table自带的属性cell-style就可以了,以下是methiods里面调用的函数

### 使用Element UI的`el-table`组件设置指定高亮 为了实现在`el-table`中点击某一使其高亮的效果,可以利用Vue的数据绑定特性来动态控制每一的类名。具体来说,在表格配置项中定义一个方法用于返回当前是否应该应用特定的CSS类[^2]。 #### 定义数据模型 首先,在Vue实例内声明两个变量:一个是用来存储选中的信息;另一个作为判断依据决定哪一应当被标记为已选状态。 ```javascript data() { return { selectedRow: null, // other data properties... }; } ``` #### 自定义row-class-name属性 接着通过自定义`rowClassName`函数来实现基于条件逻辑向目标添加额外样式: ```html <template> <div> <el-table :data="tableData" @row-click="handleRowClick" :row-class-name="tableRowClassName"> <!-- column definitions --> </el-table> </div> </template> <script> export default { methods: { handleRowClick(row) { this.selectedRow = row; }, tableRowClassName({ row }) { if (this.selectedRow === row) { return 'highlight'; } return ''; } } }; </script> ``` 上述代码片段展示了如何监听点击事件(`@row-click`)并将所选项保存至`selectedRow`变量中。每当用户单击任意一都会触发此操作更新视图上的高亮显示。 #### 添加样式规则 最后一步是在全局或局部范围内引入新的`.highlight` CSS 类型以改变视觉表现形式: ```css <style scoped> .highlight { background-color: #f0f9eb !important; /* 可根据需求调整 */ } /* 如果还需要取消默认hover效果可参照如下做法 */ :deep(.el-table__body tr:hover>td){ background-color: inherit!important; } </style> ``` 这里设置了当某一处于激活状态下其背景色会发生变化,并且禁用了原有的悬浮提示框颜色覆盖为以便更好地突出选定区域[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值