惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
月光博客
月光博客
博客园 - Franky
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
有赞技术团队
有赞技术团队
V
V2EX
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
腾讯CDC
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
Martin Fowler
Martin Fowler
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
WordPress大学
WordPress大学
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog

小松鼠的博客

记录一次线上k8s工作节点无法创建容器的问题排查思路与解决办法 记一次线上GoLang项目OOM排查过程 从LastPass转向拥抱开源KeePass的心路历程 故障定位与 AI 结合前后端编码实践 FileBeat收集nginx-ingress-controller日志 K8s云原生环境下文件描述符占用过高查询思路 2024年最新关闭火绒安全工具的开机自启方法 Kubernetes任务调度实践-Go语言实现Job和CronJob对比分析 离线更新k8s环境下的trivy漏洞库方法 使用Go语言接入Choerodon实现基于OAuth2的统一身份认证登录 在Vue2中自定义Switch组件并实现父子组件双向数据绑定 关于docker jdk1.8镜像中的GB18030-2022标准支持及验证 Go框架gin中的session存储gin-contrib-sessions和go-session 关于修改node_module中的源码问题记录 docker-compose网络和内网服务IP冲突问题 慎用存储过程:一条语句引发的数据库存储100%占用 Spring Boot中4种文件下载方法的实现 避坑-不能将specific类型的gitlab-runner改变为share类型 Docker compose中的MySQL主从复制模式和percona-toolkit工具使用 在minio中开启https访问以及使用rclone备份minio桶 在多机Docker环境下部署Choerodon的解决方案 Prometheus中Monitor添加对SpringBoot Actuator的Basic认证 在Nginx的容器镜像中隐藏Nginx的Server响应头 K8s中的两种nginx-ingress-controller及其区别 两个docker工具:runlike和whaler Grafana中的邮件报警和截图插件grafana-image-enderer K8s中externalName-service和services-without-selectors maven配置文件settings.xml中的一些概念总结 K8s中flexvolume插件驱动的安装 K8s中的coredns无法解析svc问题排查
关于Vue中使用Element-UI样式row-class-name失效的问题
ycyin · 2020-07-06 · via 小松鼠的博客

2020年7月6日大约 2 分钟前端技术Element-UIel-table


问题描述

Vue项目中,需要给el-table表格中的每一行加入自定义的样式,根据文档给组件加上row-class-name属性即可,直接加入该属性并且在当前Vue组件中配置对应class的样式发现并没有生效。官方文档地址: https://element.eleme.cn/#/zh-CN/component/table

在Element-UI中,row-class-name、row-style、cell-class-name等属性设置的css样式必须使用全局style样式才能生效。

解决方案

1、使用全局属性

因为之前的代码都是在组件中编写的,所以去除style标签中的scoped即可将该组件中的样式变为全局属性。当然这样做有个缺陷,很容易引起因为样式重复定义导致意外错误,所以更推荐第二种解决方案。

2、使用混合样式(推荐)

混合样式很容易理解,就是同时使用全局属性与局部属性。尝试过在组件中定义两个style标签块,但是报错了,vue不支持这种写法。

最佳解决方案,组件中使用scoped限定样式作用域,需要用到全局属性时在script标签中使用@import语法引用进来,示例代码如下:

<template>
    <el-table
      :row-class-name="getRowClass"
    >
    </el-table>
  </div>
</template>
<script>
// 引入全局样式表    
import '@/styles/el-table-row-expand.scss'

export default {
  methods: {
    // 对应class-name的样式设置在@/styles/el-table-row-expand.scss中
    getRowClass(row, rowIndex) {
      // 根据自己的业务逻辑返回class-name
    }
  }
}
</script>
<style scoped>
/*局部样式写在这里即可*/
</style>