vue3 antd table表格的样式修改(二)利用rowClassName给table添加行样式

news2024/11/25 15:28:49

vue3 antd项目实战——修改ant design vue组件中table表格的默认样式(二)

  • 知识调用
  • 场景复现
  • 修改table表格的行样式
    • 一、rowClassName添加行样式
    • 二、表格的不可控操作
  • 写在最后

知识调用

文章中可能会用到的知识链接
vue3+ant design vue+ts实战【ant-design-vue组件库引入】
css样式穿透(/deep/ ::v-deep深度选择器)🔥🔥
vue3 antd项目实战——table表格(一文带你快速实现后台管理系统最常用的table表格)🔥🔥

场景复现

上期文章我们介绍了如何修改 ant design vue 表格的默认样式,并以 修改table表格的padding(调整表格行row的高度) 为例,以vue组件的css样式穿透为方法,详细介绍了解决方案。

本期文章将继续介绍table表格的默认样式修改。

  • 主要内容利用rowClassName给table添加行样式
  • 实际例子修改table表格的颜色
  • 解决方法rowClassName+ pointer-events: none;

修改table表格的行样式

修改默认行样式之前: 👇👇👇(表格源码附在文章最后
在这里插入图片描述

表格默认样式:

  • 当鼠标放在表格哪一行时,哪一行就会变色。(官方文档称其为斑马纹
  • 点击可移步官方文档具体查看
    在这里插入图片描述

修改后的样式需求:

  • 取消斑马纹
  • 更改表格行样式(颜色)

解决方案:

  • 修改行样式(颜色)——样式穿透+rowClassName添加行样式
  • 表格行不可控(鼠标放在表格行上时无变色效果)——css不可控操作

一、rowClassName添加行样式

rowClassNameant design vue组件库内置的一个API属性,通过 绑定对应的行样式 即可对table表格的默认行样式进行修改。

点击可移步官方文档具体查看

在这里插入图片描述
template部分
绑定rowClassName属性,调用newStyle函数
在这里插入图片描述

源代码:

<template>
    <a-table 
        :columns="columns" 
        :data-source="data"
        :rowClassName="newStyle"
        >
        <template #bodyCell="{ column, text }">
            <template v-if="column.dataIndex === 'name'">
                <a>{{ text }}</a>
            </template>
        </template>
    </a-table>
</template>

script部分:
编写newStyle函数

// 新样式函数
const newStyle = () => {
    return 'newRowStyle' // 返回到行样式
}

在这里插入图片描述
注意: 各变量名、函数名需要保持一致

style部分:

<style scoped>
.newRowStyle {
    background-color: orange;
}
</style>

此时我们来看看效果。👇👇👇
在这里插入图片描述
我们发现,表格的样式并未发生改变。

对应的有两种解决方案

  • 删除scoped(较方便)
  • 样式穿透

我们尝试删除scoped之后,显示效果如下 👇👇👇
在这里插入图片描述
到目前为止,解决方案第一步实现。可以看到表格的斑马纹依然存在
这时就需要通过不可控操作来去除斑马纹。

斑马纹效果如下图:👇👇👇
在这里插入图片描述

二、表格的不可控操作

style部分:
在新的行样式中添加禁用操作(这也意味着表格自带的触控样式会全部消失)
在这里插入图片描述

.newRowStyle {
    background-color: orange; /* 修改颜色*/
    pointer-events: none;  /* 取消斑马纹*/
}

此时我们来看看实现效果如何 👇👇👇
在这里插入图片描述
很显然,到目前为止我们完成了解决方案的所有步骤。更改了表格行颜色,同时也取消了斑马纹,需求得以实现。

基础表格源码【未经处理】:(包含表格数据data、表格纵列目录columns)

<template>
    <a-table 
        :columns="columns" 
        :data-source="data"
        class="AStockOutDetailTable"
        >
        <template #bodyCell="{ column, text }">
            <template v-if="column.dataIndex === 'name'">
                <a>{{ text }}</a>
            </template>
        </template>
    </a-table>
</template>
<script lang="ts" setup>
import { defineComponent } from 'vue';
const columns = [
    {
        title: 'Name',
        dataIndex: 'name',
        key: 'name',
    },
    {
        title: 'Age',
        dataIndex: 'age',
        key: 'age',
        width: 80,
    },
    {
        title: 'Address',
        dataIndex: 'address',
        key: 'address 1',
        ellipsis: true,
    },
    {
        title: 'Long Column Long Column Long Column',
        dataIndex: 'address',
        key: 'address 2',
        ellipsis: true,
    },
    {
        title: 'Long Column Long Column',
        dataIndex: 'address',
        key: 'address 3',
        ellipsis: true,
    },
    {
        title: 'Long Column',
        dataIndex: 'address',
        key: 'address 4',
        ellipsis: true,
    },
];

const data = [
    {
        key: '1',
        name: 'John Brown',
        age: 32,
        address: 'New York No. 1 Lake Park, New York No. 1 Lake Park',
        tags: ['nice', 'developer'],
    },
    {
        key: '2',
        name: 'Jim Green',
        age: 42,
        address: 'London No. 2 Lake Park, London No. 2 Lake Park',
        tags: ['loser'],
    },
    {
        key: '3',
        name: 'Joe Black',
        age: 32,
        address: 'Sidney No. 1 Lake Park, Sidney No. 1 Lake Park',
        tags: ['cool', 'teacher'],
    },
];
</script>

写在最后

ant design vue组件库中table表格学问很多,有很多功能值得我们去研究探索。下期文章将以本文为基础进行延伸,介绍 如何根据数据属性更改行样式


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

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

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

相关文章

Autosar MCAL-SPI配置及使用

文章目录前言SPI协议基础Autosar SPI专有名词SpiDriverSpiChannelSpiChannelIdSpiChannelTypeSpiDataWidthSpiDefaultDataSpiEbMaxLengthSpiIbNBuffersSpiTransferStartSpiExternalDeviceSpiBaudrateSpiAutoCalcBaudParamsSpiCsIdentifierSpiCsPolaritySpiCsSelectionSpiDataSh…

前端工程师可以分成 4 种,你属于哪一种?

在这篇文章中&#xff0c;探讨四种常见的前端工程&#xff0c;1&#xff09;产品工程师&#xff0c;2&#xff09;UI 基建工程师&#xff0c;3&#xff09;设计师&#xff0c;4&#xff09;工具基建工程师&#xff0c;你属于哪一种&#xff1f; 产品工程师 产品工程师负责公司…

6.s081 学习实验记录(二)xv6 and unix utilities

文章目录一、boot xv6二、sleep三、pingpong四、primes五、find六、xargs该实验主要用来熟悉xv6以及其系统调用 一、boot xv6 实验目的&#xff1a; 启动xv6系统&#xff0c;并使用提供的命令ls&#xff0c;列出系统所有的文件ctrl p&#xff0c;打印当前运行的进程ctrl a…

Ubuntu22.04使用kubeadm安装k8s 1.26版本高可用集群

目录阿里云ACK集群的架构ACK实例的创建过程如下安装前的准备主机规划基线准备所有k8s master、worker节点安装kubeadmkubectlkubelet创建集群负载均衡器HAproxy安装keepalived 和haproxy配置haproxy配置keepalivedkubeadm部署第一台master节点Calico网络组件一键安装安装完成阿…

mPEG-Biotin,甲氧基-聚乙二醇-生物素科研实验用试剂

​​ 英文名称&#xff1a;mPEG-Biotin 中文名称&#xff1a;甲氧基-聚乙二醇-生物素 mPEG生物素可通过与链霉亲和素和抗生物素结合进行聚乙二醇化&#xff0c;具有高亲和力和特异性。生物素通过稳定的酰胺连接物与线性PEG结合。 提示&#xff1a;避免频繁的溶解和冻干&…

node.js+uni计算机毕设项目基于微信的同学会小程序(程序+小程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等…

GraphQL在Django中的使用

简介 特点 请求你所要的数据&#xff0c;不多不少获取多个资源&#xff0c;只用一个请求描述所有的可能&#xff0c;类型系统几乎所有语言支持 谁在用 文档 Graphene-PythonGraphQL | A query language for your API 背景 传统restful的接口定义类型多&#xff0c;试图简…

WordPress 添加百度主动推送代码,加速网站收录保护原创文章

WordPress是世界上使用人数最多开源程序之一&#xff0c;它的优点有很多&#xff0c;譬如&#xff0c;简单易用、样式丰富&#xff0c;模板众多&#xff0c;安全性能高&#xff0c;对搜索引擎友好&#xff0c;收录快、扩展性强&#xff0c;功能强大等等&#xff0c;其中我最喜欢…

JVM的类加载机制

一、类加载机制 类的加载指的是将类的.class文件中的二进制数据读入到内存中&#xff0c;将其放在运行时数据区的方法区内****&#xff0c;然后在堆区创建一个java.lang.Class对象&#xff0c;用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象&…

六、应用层(三)文件传输协议(FTP)

将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机中&#xff0c;是一项基本的网络应用&#xff0c;即文件传送。 文件传送协议FTP&#xff08;File Transfer Protocal&#xff09;是因特网上使用得最广泛的文件传送协议。 FTP提供交互式的访问&#xff0c;允许…

欢祝圣诞——北斗星的爱!

2022年圣诞节到来啦&#xff0c;很高兴这次我们又能一起度过~ ★★给大家推荐两首我很喜欢的歌曲&#xff0c;第一首是标题同名歌曲&#xff1a;1.张杰的《北斗星的爱》&#xff1b;另一首是&#xff1a;2.张杰的《星星》&#xff0c;这两首歌真的很震撼很好听&#xff01; 我…

2022细胞生物学实验原理复习资料汇总

2022细胞生物学实验原理复习资料汇总1.2022年考试复习题及参考答案2.2021年考试复习题及参考答案3.2020年之前考试复习题汇总4.复习重点&#xff08;汇总&#xff09;5.排版好的PDF高清版 获取途径&#xff08;资源2021年版&#xff0c;链接2022年最新版本&#xff09;1.2022年…

Linux网络编程之epoll多路转接服务器

Linux网络编程之epoll多路转接服务器 一、epoll的基本概念 epoll是Linux下多路复用IO接口select/poll的增强版本&#xff0c;它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率&#xff0c;因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待…

基于自动模糊聚类的图像分割研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

kubernetes之数据存储详解

目录 一、存储卷的作用 二、数据卷概述 三、数据卷emptyDir 四、数据卷hostPath 五、数据卷&#xff1a;NFS 六、持久卷概述 6.1PV静态供给 6.2PV 动态供给(StorageClass) 6.3 PV 生命周期 6.3.1 ACCESS MODES (访问模式) 6.3.2 RECLAIM POLICY (回收策略) 6.3.3 S…

【Redis场景2】缓存更新策略(双写一致)

在业务初始阶段&#xff0c;流量很少的情况下&#xff0c;通过直接操作数据是可行的操作&#xff0c;但是随着业务量的增长&#xff0c;用户的访问量也随之增加&#xff0c;在该阶段自然需要使用一些手段(缓存)来减轻数据库的压力&#xff1b;所谓遇事不决&#xff0c;那就加一…

vue 基础入门:vue 的调试工具

1. 安装 vue-devtools 调试工具 vue 官方提供的 vue-devtools 调试工具&#xff0c;能够方便开发者对 vue 项目进行调试与开发。 Chrome 浏览器在线安装 vue-devtools &#xff1a;https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajb…

六、应用层(五)万维网(www)

目录 5.1 WWW的概念与组成结构 5.2 超文本传输协议&#xff08;HTTP&#xff09; 5.2.1 HTTP的操作过程 5.2.2 HTTP的特点 5.2.3 HTTP的报文结构 5.1 WWW的概念与组成结构 万维WWW&#xff08;World Wide Web&#xff09;简称web并非某种特殊的计算机网络。它…

商城管理系统

商城管理系统 文章目录商城管理系统要求&#xff1a;项目结构图AddProductServlet添加商品&#xff1a;AddToCart将商品添加至购物车ClearCart清空购物车DeleteProductServlet删除商品EditProductServlet修改商品FindProductServlet查找商品LoginServlet登录ProductControl商品…

初级C语言之【数组】

&#x1f996;作者&#xff1a;学写代码的恐龙 &#x1f996;博客主页&#xff1a;学写代码的恐龙博客主页 &#x1f996;专栏&#xff1a;【初级c语言】 &#x1f996;语录&#xff1a;❀未来的你&#xff0c;一定会感谢现在努力奋斗的自己❀ 初级C语言之【数组】一&#xff…