vue3 ant design vue——修改table表格的默认样式(css样式穿透)(一)调整table表格每行(row)行高过高问题

news2024/11/17 3:31:48

vue3 antd项目实战——修改ant design vue table组件的默认样式(调整每行行高)

  • 知识调用
  • 场景复现
  • 实际操作
    • 解决a-table表格padding过宽

知识调用

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

场景复现

修改antd table的默认样式
ant design vue组件库固然简单好用,但是它的默认样式有时候非常鸡肋,有些是不太符合我们的需求的。比如,表格的padding过宽,又比如,更改行颜色。 这时我们需要用到 vue组件的样式穿透 来更改table表格的默认样式。

实际操作

解决a-table表格padding过宽

改变默认样式之前: 👇👇👇
在这里插入图片描述

  • 假如我们需要打印这个表格,在纸张有限的情况下,我们肯定是既希望保证美观,又希望在美观的同时最大限度的利用纸张。
  • 类比页面亦是如此,我们可以将table样式中的padding调小一点,于是这里就用到了上期文章所介绍的 css样式穿透。这里我们称为 vue的样式穿透

表格源码:(包含表格数据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>

这里我采用的是最通用的解决方式3。 👇👇👇

解决方式3——通用的样式穿透(使用::v-deep)

<style scoped>
  ::v-deep .ant-table-thead > tr > th, .ant-table-tbody > tr > td {
      padding: 8px 8px;
      overflow-wrap: break-word;
  }
  ::v-deep .ant-table-tbody .ant-table-row td {
      padding-top: 8px;
      padding-bottom: 8px;
    }
</style>

解决方式1——sass和less的样式穿透(使用/deep/)

<style lang="scss" scoped>
  .AStockOutDetailTable{
    & /deep/ .ant-table-thead > tr > th, .ant-table-tbody > tr > td {
      padding: 8px 8px;
      overflow-wrap: break-word;
    }
    & /deep/ .ant-table-tbody .ant-table-row td {
      padding-top: 8px;
      padding-bottom: 8px;
    }
  }
</style>

解决方式2——stylus的样式穿透(使用>>>)

<style lang="stylus" scoped>
  .AStockOutDetailTable >>> .ant-table-thead > tr > th, .ant-table-tbody > tr > td {
      padding: 8px 8px;
      overflow-wrap: break-word;
  }
  .AStockOutDetailTable >>> .ant-table-tbody .ant-table-row td {
      padding-top: 8px;
      padding-bottom: 8px;
    }
</style>
  • 用另外两种方式都可以解决表格默认样式的问题。

用上述方法更改默认样式之后的样式: 👇👇👇
在这里插入图片描述


下期文章将介绍如何修改antd table表格的行样式

觉得这篇文章有用的小伙伴们🔥
可以点赞➕收藏➕关注哦~🔥

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

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

相关文章

基于 Traefik 的 ForwardAuth 配置

前言 Traefik 是一个现代的 HTTP 反向代理和负载均衡器&#xff0c;使部署微服务变得容易。 Traefik 可以与现有的多种基础设施组件&#xff08;Docker、Swarm 模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...&#xff09;集成&#xff0c;并自动和动态地…

【移动安全】—apk反编译基础及静态分析

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门 创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座…

逛逛JVM的“后花园“: 让我来戏弄戏弄字节吧

开篇瞎哔哔 这篇文章不打算放在任何一个系列里面&#xff0c;纯粹是个人对这方面比较感兴趣才写的&#xff0c;在日常的工作中&#xff0c;也不会用到关于这块的知识&#xff0c;但是&#xff0c;我希望如果有小伙伴和我一样&#xff0c;想对字节码杠一杠的&#xff0c;那么这…

Python pandas库|任凭弱水三千,我只取一瓢饮(5)

上一篇链接&#xff1a; Python pandas库&#xff5c;任凭弱水三千&#xff0c;我只取一瓢饮&#xff08;4&#xff09;_Hann Yang的博客-CSDN博客 S~W&#xff1a; Function46~56 Types[Function][45:] [set_eng_float_format, show_versions, test, timedelta_range, to_…

BUUCTF Misc [ACTF新生赛2020]NTFS数据流 john-in-the-middle [ACTF新生赛2020]swp 喵喵喵

目录 [ACTF新生赛2020]NTFS数据流 john-in-the-middle [ACTF新生赛2020]swp 喵喵喵 [ACTF新生赛2020]NTFS数据流 下载文件 得到500个txt文件&#xff0c;提示了NTFS流隐写&#xff0c;所以使用NtfsStreamsEditor2查看 得到flag flag{AAAds_nntfs_ffunn?} jo…

mybatis-plus代码生成器AutoGenerator

文章目录前言一、给指定的模块生成代码1.1 创建maven模块1.2 导入依赖1.3 代码生成类1.4 测试二、给指定的项目生成代码2.1 创建maven项目2.2 导入依赖2.3 代码生成类2.4 测试三、步骤区别前言 AutoGenerator 是 MyBatis-Plus 的代码生成器&#xff0c;通过 AutoGenerator 可以…

一文弄懂 React 生命周期

1. 类组件生命周期原理 React 中有两个核心阶段&#xff1a; 1.调和 (render) 阶段遍历 Fiber 树&#xff0c;通过 diff 算法找出变化的部分&#xff0c;如果是组件则会执行其 render 函数进行更新2.commit 阶段根据调和的结果去创建或修改真实 DOM 节点生命周期是贯穿在一个…

C++ Primer 课后习题详解 | 2.1.1 算术类型

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

Python pandas库|任凭弱水三千,我只取一瓢饮(6)

上一篇链接&#xff1a; Python pandas库&#xff5c;任凭弱水三千&#xff0c;我只取一瓢饮&#xff08;5&#xff09;_Hann Yang的博客-CSDN博客 DataFrame 类方法&#xff08;211个&#xff0c;其中包含18个子类、2个子模块&#xff09; >>> import pandas as p…

Python pandas库|任凭弱水三千,我只取一瓢饮(1)

对Python的 pandas 库所有的内置元类、函数、子模块等全部浏览一遍&#xff0c;然后挑选一些重点学习一下。我安装的库版本号为1.3.5&#xff0c;如下&#xff1a; >>> import pandas as pd >>> pd.__version__ 1.3.5 >>> print(pd.__doc__)pandas…

Google Earth Engine APP(GEE)——再地图上加载各种选择器

本次我们尝试将GEE UI中的小组件进行加载,让其设定在特定的面板上,并且加载到地图上,先看一下我们最终成型的效果, 文中代码所使用到的函数: ui.Select(items, placeholder, value, onChange, disabled, style) 带有回调的可打印选择菜单。 参数: 项目(列表<对象…

day29【代码随想录】回溯之组合总和、组合总和||

文章目录前言一、组合总和&#xff08;力扣39&#xff09;剪枝优化二、组合总和II&#xff08;力扣40&#xff09;前言 1、组合总和 2、组合总和|| 一、组合总和&#xff08;力扣39&#xff09; 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0…

Smart Table Personalization 功能的一些单步调试

SmartTable 的 _onMetadataInitialised 方法里&#xff1a; 如果标志位 bIsInitialised 已经赋值&#xff0c;说明已经初始化过了&#xff0c;直接返回。 这里说明 SmartTable 有一个自动调整宽度的属性设置&#xff1a;getEnableAutoColumnWidth 拿到 Table view 的metadat…

C++11标准模板(STL)- 算法(std::accumulate)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 对一个范围内的元素求和 …

node.js+uni计算机毕设项目基于微信小程序的大型商场一体化平台(程序+小程序+LW)

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

我求求你了,GC日志打印别再瞎配置了

​ 编辑切换为居中 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 生产环境上&#xff0c;或者其他要测试 GC 问题的环境上&#xff0c;一定会配置上打印GC日志的参数&#xff0c;便于分析 GC 相关的问题。 但是可能很多人配置得都不够“完美”&#…

excel图文教程:深入了解数据分析函数FREQUENCY

1.FREQUENCY函数的作用及语法 关于这个函数的作用官方的解释是&#xff1a;以一列垂直数组返回一组数据的频率分布。 语法&#xff1a;FREQUENCY&#xff08;DATA_ARRAY&#xff0c;BINS_ARRAY&#xff09; FREQUENCY函数的第二参数可以是单元格区域&#xff0c;也可以是常量…

如何创建你自己的谷歌浏览器扩展

如果你是谷歌浏览器的用户&#xff0c;你可能已经在浏览器中使用了一些扩展。 你是否曾想过如何自己建立一个&#xff1f;在这篇文章中&#xff0c;我将向你展示如何从头开始创建一个Chrome扩展。 目录 什么是Chrome扩展&#xff1f;我们的Chrome扩展会是什么样子的&#xf…

DSP-时域中的离散信号

目录 离散时间信号的表示: 离散信号的时域表示: 序列的长度: ​编辑 信号的能量和功率: 序列的基本运算 : 相乘 (product): 相加(addition): 放大(multiplication): 时移(time-shifting): 时间反转(time-reversal): 线性卷积: 抽样率转换: 有限长序列的运算: 离散…

Wireshark 实用篇2:Wireshark 抓包常用过滤命令

目录 前言 正文 一、根据 IP 地址过滤 二、根据端口过滤 三、根据协议过滤 四、根据 Payload Type 条件过滤 五、根据组合条件过滤 六、实例分析 前言 使用 Wireshark 工具进行网络抓包属于研发人员的基础技能&#xff0c;如果你还不了解&#xff0c;建议从现在开始…