vue3 antd项目实战——table表格 根据属性值设置背景颜色【rowClassName添加行样式 + /deep/样式穿透 + css不可控】

news2024/12/23 16:06:29

根据数据属性值添加table表格行样式(rowClassName)

  • 知识调用
  • 场景复现
    • 利用rowClassName编写行样式
    • 编写行样式函数➕筛选条件
    • 编写特定的行样式
    • 取消相应的斑马纹样式

知识调用

文章中可能会用到的知识链接
vue3+ant design vue+ts实战【ant-design-vue组件库引入】🔥🔥
vue3 antd table表格的样式修改(二)利用rowClassName给table添加行样式🔥🔥
vue3 antd项目实战——table表格(一文带你快速实现后台管理系统最常用的table表格)🔥🔥

场景复现

vue3➕antd➕ts 的项目开发中,table表格无处不在,而对于table表格的操作有很多,比如 根据表格数据的属性显示不同的样式(颜色)。本期文章将以此为实例,提供详细方案实现需求。

表格初始状态:(如下图)

  • 含表格自带的斑马纹
  • 所有行样式一致,没有根据表格数据属性区分样式

未根据表格数据的属性进行区分👇👇👇
在这里插入图片描述

未根据表格数据属性对应去除斑马纹👇👇👇
在这里插入图片描述

表格样式需求:

  • 根据表格数据的属性渲染不同的颜色样式
  • 根据表格数据的属性去除相应数据的斑马纹样式

解决方案:

  • rowClassName ➕ 筛选条件 ➕ 样式函数
  • pointer-events: none; 取消斑马纹

利用rowClassName编写行样式

表格部分:(点击了解表格是如何实现的🔥🔥)
在这里插入图片描述
如上图,绑定rowclass属性,调用rowclassname函数。(此函数即为样式函数,用于调用新的行样式)

<a-table 
   :data-source="data" 
   :columns="columns" 
   style="width:100%"  
   :rowClassName="rowclassname" 
   >
   <!-- 表格内的一些组件-->
</table>

编写行样式函数➕筛选条件

样式函数部分:
在这里插入图片描述
如上图所示,返回新的行样式。这里使用了一个三目表达式,根据表格传递的数据的属性对应相应的行样式。

const rowclassname = (record:tableInt) => {
    // console.log("777",toRaw(record).deleted)
    return toRaw(record).deleted === 1 ? 'row-color' : ''
}

ps:

  • 这里的record是表格里的删除按钮传过来的值
  • 点击删除则会改变deleted属性的值
  • toRaw是vue3里的一个函数方法,主要作用是取消数据的跟踪,UI界面不会随之更新。
// 三目运算符在这里也可以用if语句替换
const rowclassname = (record:tableInt) => {
   if (record.deleted === 1) {
       return 'row-color'
   } else {
       return ''
   }
}

比如在这里,如果数据的deleted属性值为1,则返回特定的行样式,否则则保持原来的样式。

编写特定的行样式

style部分:

<style scoped lang="less">
/deep/ .row-color {
    background-color: rgb(255, 240, 240);
}

ps:

  • 因为这里使用了scoped,所以要使用到样式穿透
  • 点击查看样式穿透的详细使用
  • 如果不想使用样式穿透,可以删除scoped lang=”less"

这个时候,我们来看一看目前为止的实现效果。👇👇👇

  • 当我们不触碰它的时候,显然实现了需求的第一条——根据表格数据的属性显示特定的行样式
    在这里插入图片描述
  • 但是当我们触碰它时,斑马纹仍然存在
    在这里插入图片描述

取消相应的斑马纹样式

在这里插入图片描述
在之前的基础上添加 pointer-events: none; 即可

<style scoped lang="less">
/deep/ .row-color {
    background-color: rgb(255, 240, 240);
    pointer-events: none;  /* 禁用*/
}
</style>

这个时候我们来看看效果👇👇👇
在这里插入图片描述
无论触碰与否,都不会有斑马纹样式。
显然,截至目前已经实现了需求的第二点——根据数据属性去除相应的斑马纹样式


截止目前,需求已经全部实现

后续将不定期持续更新相关内容~
觉得这篇文章有用的小伙伴们
可以点赞➕收藏➕关注哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何检测时间序列中的异方差(Heteroskedasticity)

时间序列中非恒定方差的检测与处理&#xff0c;如果一个时间序列的方差随时间变化&#xff0c;那么它就是异方差的。否则数据集是同方差的。 异方差性影响时间序列建模。因此检测和处理这种情况非常重要。 让我们从一个可视化的例子开始。 下面的图1显示了航空公司乘客的时间…

Zotero快速入门

文章目录一、前言二、下载和安装Zotero三、界面初识和基本操作3.1 创建分类3.2 文献导入3.2.1 自动导入3.2.2 手动导入3.3 内置pdf管理3.4 同步3.5 插件3.5.1 安装方法3.5.2 插件推荐四、与word/wps协同引用文献4.1 使用内置格式4.1.1 添加索引4.1.2 添加书目4.2 自定义格式4.2…

基于AD Event日志监测域内信息探测行为

01、简介当攻击者获得内网某台域内服务器的权限&#xff0c;就会以此为起始攻击点&#xff0c;尽可能地去收集域的信息&#xff0c;以获取域控权限作为内网的终极目标。例如&#xff0c;攻击者会在内网中收集域管理员用户列表和特定敏感用户的信息&#xff0c;通过定位域管理员…

【c++】STL--vector

前言 想必大家已经对string有所了解了&#xff0c;string是专门用于字符串的。今天讲到的vector则是表示可变大小数组的序列容器。就像数组一样&#xff0c;vectoer也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问&#xff0c;和数组…

从根本上理解Synchronized的加锁过程

伸手摘星&#xff0c;即使一无所获&#xff0c;亦不致满手污泥。 请关注公众号&#xff1a;星河之码 作为一个Java开发&#xff0c;对于Synchronized这个关键字并不会陌生&#xff0c;无论是并发编程&#xff0c;还是与面试官对线&#xff0c;Synchronized可以说是必不可少。 …

顶刊实证复现:金融投资行为与企业技术创新 -动机分析与经验证据(思路梳理+全数据源+python代码)

标题&#xff1a;金融投资行为与企业技术创新 ——动机分析与经验证据 参考文献 作者&#xff1a;段军山 庄旭东 数据概况 1、数据来源&#xff1a; 第三方数据库 2、样本&#xff1a;2009-2018 中国 A 股市场的上市公司科技数据和财务数据 3、数据处理&#xff1a; (1)由…

Filter和Listener学习笔记

1.什么是Filter 2.定义过滤器 &#xff08;注意导的Filter的包来源是Javax.servlet&#xff09; /* 定义一个过滤器的步骤&#xff1a;1. 自定义一个类实现Filter接口2. 把过滤器规则定义在doFilter方法里面3. 使用WebFilter注解配置过滤的路径*///过滤的路径 //WebFilter(&qu…

用拙劣的Python技术画出的圣诞树(勿喷)

2022年圣诞节到来啦&#xff0c;很高兴这次我们又能一起度过~ 一、前言 今天晚上,准备睡觉的我看见了CSDN有活动了,我就立马飞奔到电脑前面 这不,CSDN又举办了一场活动,看着令人心动的奖励和丰富的勋章,我的口水都从眼睛里流出来了(夸张),我准备创造一颗圣诞树,但是又想到我…

「设计模式」责任链模式

「设计模式」责任链模式 文章目录「设计模式」责任链模式一、概述二、结构三、案例实现四、优缺点五、应用场景六、模拟过滤器机制七、拓展八、小结一、概述 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;为请求创建了一个接收者对象的链。这种模式给予…

高频时序数据的储存与统计方案

文章目录问题背景解决办法第一步&#xff0c;梳理数据和计算要求第二步&#xff0c;确定存储和计算方案第三步&#xff0c;确定技术选型和方案第四步&#xff0c;实施优化方案后记问题背景 发电设备中常常会放置传感器&#xff08;DCS&#xff09;来采集数据以监控设备运转的状…

河海大学软件工程学硕考研复试经验贴

一、写在前面 想必看到这篇文章的学弟学妹都已经考完初试了&#xff0c;考得如何每个人心中各有千秋。无论如何&#xff0c;坚持将考研整个过程走下来的你们就已经是最棒的了&#xff0c;现在可以好好休息一下&#xff0c;静待考研成绩的公布了。 我写下这篇文章的目的主要是…

4.3.1、IPv4 地址概述

1、基本介绍 在 TCP/IP 体系中&#xff0c;IP 地址是一个最基本的概念&#xff0c;我们必须把它弄清楚。 IPv4 地址就是给因特网&#xff08;Internet&#xff09;上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的 32 比特的标识符。 IP 地址由因特网名…

5.8 什么是学习博主?看两个博主案例【玩赚小红书】

先看大家看两个博主案例 ​ 学习博主&#xff0c;就是专门为用户提供学习方法的人。 学习方法在小红书的内容中属于干货价值&#xff0c;也就是用户们需要的东西&#xff0c;能为他们解决问题的内容&#xff0c;所以是比较受欢迎的&#xff0c;换言之&#xff0c;就是笔记数据…

Spark 3.0 - 15.ML PIC 快速迭代聚类理论与实战

目录 一.引言 二.PIC 理论 1.谱聚类 2.快速迭代聚类 三.PIC 实战 1.数据准备 2.构建 PIC 3.预测与展示 四.总结 一.引言 前面介绍了 K-means 聚类与高斯混合聚类&#xff0c;本文介绍另外一种聚类方法 Power Iteration Cluster 快速迭代聚类&#xff0c;简称 PIC。快…

【架构设计】你的类足够“专一”吗

前言 软件设计SOLID原则中有一个最基础的原则就是单一职责原则&#xff0c;我想绝大部分的程序员都知道&#xff0c;而且都理解它的意思&#xff0c;甚至觉得很简单。但是往往“看懂”和“会用”是两回事&#xff0c;而“用好”更是难上加难。好比我们项目&#xff0c;一开始一…

取代OpenFeign:Spring Framework 6全新声明式客户端@HttpExchange

本文已被https://yourbatman.cn收录&#xff1b;女娲Knife-Initializr工程可公开访问啦&#xff1b;程序员专用网盘https://wangpan.yourbatman.cn&#xff1b;技术专栏源代码大本营&#xff1a;https://github.com/yourbatman/tech-column-learning&#xff1b;公号后台回复“…

【几种可调动对象,Function和bind;线程的调动方式举例】

1.可调动对象的调动方式 方法 1、函数指针调动 方法2 、类类型的括号的重载 调动可调动对象 #include<iostream> #include<functional> using namespace std; struct Foo {void operator()(int x){cout<<"Foo operator "<<x<<endl;}…

CSS3【定位的基本使用[静态定位\相对定位\绝对定位]、子绝父相、固定定位、元素的层级关系】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录一、定位1.1定位的基本介绍1.1.1 网页常见布局方式1.1.2 定位的常见应用场景1.2 定位的基本使用1.2.1 定位初体验1.2.2 使用定位的步骤1.2.3 静态定位1.2.4 小结1.2.…

使用 Docker Hub 完美地存储 Helm 图表实战

使用 Docker Hub 完美地存储 Helm 图表实战 Helm 是 Kubernetes 的包管理器。它是一个开源容器编排系统。它通过提供一种简单的方法来定义、安装和升级复杂的 Kubernetes 应用程序&#xff0c;帮助您管理 Kubernetes 应用程序。 使用 Helm&#xff0c;您可以将您的应用程序打包…

git教程

教程目录Git 教程Git 与 SVN 区别Git 与 SVN 区别点&#xff1a;Git 安装配置Linux 平台上安装Debian/UbuntuCentos/RedHatWindows 平台上安装Mac 平台上安装Git 配置用户信息文本编辑器##差异分析工具查看配置信息Git 工作流程Git 工作区、暂存区和版本库基本概念Git 创建仓库…