当前位置: 首页 > news >正文

el-table解决数据过少小于高度有留白的问题

问题:给el-table设置个高度,高度为500px,之后就添加如下4条数据,那么底部就没数据,直接就空白了,本文章就是为了解决这个问题,如果底部留白那么就添加几条空数据就行了.如果数据已达到高度了那么就不会留白了

1.效果

这个空列可以根据高度来决定添加几个空格子去铺满列表,解决列表留白问题

 2.主要代码讲解

2.1为了不影响原始数据,建议在获取到接口列表数据后存入到俩个变量中,一个作为展示一个作为判断添加几行空数据,

        addTable() {// 这边就是调用列表的接口之后数据展示this.tableData = [{date: '2016-05-02',name: '王小虎',address: '上海市普陀'},{date: '2016-05-04',name: '王小虎',address: '上海市普'},{date: '2016-05-02',name: '王小虎',address: '上海市普陀'}];this.tableDataFilter = [{date: '2016-05-02',name: '王小虎',address: '上海市普陀'},{date: '2016-05-04',name: '王小虎',address: '上海市普'},{date: '2016-05-02',name: '王小虎',address: '上海市普陀'}];this.$nextTick(() => {this.handleTableResize();});}

2.2监听页面高度发生变化后,需要判断展示几行空数据。

    window.addEventListener('resize', this.handleTableResize); // 监听页面尺寸变化

2.3给每行设置固定的高度,必须要固定死,不然就判断失误了,如果内容过多可以设置show-overflow-tooltip

.el-table /deep/ .el-table__row {height: 50px;
}

2.4 关键代码

设置个tableHeight:初始值为0

整个表格的高度,给el-table绑定一个ref,名字叫algorithmRef

this.$refs.algorithmRef.$el.clientHeight

整个表格还剩下的留白的高度,这个-100是减去表头,-50是上面设置的一行的高度之后,50 * this.tableDataFilter.lengt,这个就是有数据的行高度,最后得出表格剩下留白高度

  height = this.tableHeight - 100 - 50 * this.tableDataFilter.length;

 result:要添加几行空白给表格数据

最后把空数据添加到tableData中

    getTableHeight() {this.tableHeight = this.$refs.algorithmRef.$el.clientHeight;let height = 0;height = this.tableHeight - 100 - 50 * this.tableDataFilter.length;const result = Math.floor(height / 50);this.tableAdd(result);console.log(result, '要传给tableAdd的值'); },tableAdd(num) {let addTable = [];for (let i = 0; i < num; i++) {addTable.push({ date: '', name: '', address: '' });}this.tableData = [...this.tableDataFilter, ...addTable];},

3.完整代码

<!--* @Descripttion: el-table解决数据过少小于高度有留白的问题* @version:* @Author: 请叫我欧皇i* @email: 13071200550@163.com* @Date: 2023-11-13
--><template><div class="container-table" ref="paramRef"><el-button @click="addTable()">添加</el-button><div class="table-box"><el-tableborder:cell-style="{ borderColor: '#C0C0C0' }":header-cell-style="{ borderColor: '#c0c0c0' }":data="tableData"stripeheight="100%"@resize="handleTableResize"style="width: 100%"ref="algorithmRef"class="tablebox"><el-table-column show-overflow-tooltip label="自动数据" align="center"><el-table-column prop="date" label="日期" width="180"> </el-table-column><el-table-column prop="name" label="姓名" width="180"> </el-table-column></el-table-column><el-table-column label="人工数据" align="center"><el-table-column prop="address" label="地址"> </el-table-column><el-table-column prop="date" label="日期" width="180"> </el-table-column><el-table-column prop="name" label="姓名" width="180"> </el-table-column></el-table-column></el-table></div></div>
</template><script>
export default {data() {return {tableData: [],tableDataFilter: [],tableHeight: 0 // 行高};},mounted() {// setTimeout(() => {// }, 1000);this.$nextTick(() => {this.getTableHeight(); // 监听el-table尺寸变化事件,重新获取表格高度window.addEventListener('resize', this.handleTableResize); // 监听页面尺寸变化});},methods: {handleTableResize() {this.$nextTick(() => {this.getTableHeight(); // 监听el-table尺寸变化事件,重新获取表格高度});// this.tableHeight = this.$refs.dynamicTable.$el.clientHeight;// console.log();},getTableHeight() {this.tableHeight = this.$refs.algorithmRef.$el.clientHeight;let height = 0;// 留白的高度height = this.tableHeight - 100 - 50 * this.tableDataFilter.length;const result = Math.floor(height / 50);this.tableAdd(result);console.log(result, '要传给tableAdd的值');},tableAdd(num) {let addTable = [];for (let i = 0; i < num; i++) {addTable.push({ date: '', name: '', address: '' });}this.tableData = [...this.tableDataFilter, ...addTable];},handlePageResize() {this.$nextTick(() => {this.getTableHeight(); // 页面尺寸变化后重新获取表格高度});},addTable() {// 这边就是调用列表的接口之后数据展示this.tableData = [{date: '2016-05-02',name: '王小虎',address: '上海市普陀'},{date: '2016-05-04',name: '王小虎',address: '上海市普'},{date: '2016-05-02',name: '王小虎',address: '上海市普陀'},{date: '2016-05-02',name: '王小虎',address: '上海市普陀'},{date: '2016-05-04',name: '王小虎',address: '上海市普'}];this.tableDataFilter = [{date: '2016-05-02',name: '王小虎',address: '上海市普陀'},{date: '2016-05-04',name: '王小虎',address: '上海市普'},{date: '2016-05-02',name: '王小虎',address: '上海市普陀'},{date: '2016-05-02',name: '王小虎',address: '上海市普陀'},{date: '2016-05-04',name: '王小虎',address: '上海市普'}];this.$nextTick(() => {this.handleTableResize();});}}
};
</script><style lang="scss" scoped>
.container-table {height: 70vh;width: 890px;background-color: #fff;.table-box {height: 70%;width: 100%;}
}
::v-deep .el-table .el-table__body--striped .el-table__row:nth-child(even) {background-color: #f7f7f7; /* 设置偶数行的背景色 */
}
.tablebox {border: 1px solid #c0c0c0;
}
/deep/ .el-table::after {width: 0;
}
/deep/ .el-table::before {height: 0;
}// 这是关键,设置表格的每一行的高度,必须要固定死,如果内容过多可以设置show-overflow-tooltip
.el-table /deep/ .el-table__row {height: 50px;
}
/deep/ .el-table tbody tr td:nth-child(5),
/deep/ .el-table thead tr th:nth-child(5) {border-right: none;
}
/deep/ table thead tr:first-of-type th:nth-child(2) {border-right: none;
}
</style>

相关文章:

el-table解决数据过少小于高度有留白的问题

问题:给el-table设置个高度,高度为500px,之后就添加如下4条数据,那么底部就没数据,直接就空白了,本文章就是为了解决这个问题,如果底部留白那么就添加几条空数据就行了.如果数据已达到高度了那么就不会留白了 1.效果 这个空列可以根据高度来决定添加几个空格子去铺满列表&…...

vue实现无感刷新token

vue实现无感刷新token 1、前言2、实现思路2.1 方法一2.2 方法二2.3 方法三 3、可能遇到的问题3.1 问题一&#xff1a;如何防止多次刷新token3.2 问题二&#xff1a;同时发起两个或者两个以上的请求时&#xff0c;其他接口怎么解决 1、前言 最近在做vue3管理系统项目的时候&…...

竞赛选题 深度学习的动物识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…...

Python高级语法----Python C扩展与性能优化

文章目录 1. 编写Python C扩展模块示例代码编译和运行运行结果2. 利用Cython优化性能示例代码编译和运行运行结果3. Python性能分析工具示例代码分析结果1. 编写Python C扩展模块 Python C扩展模块允许你将C语言代码集成到Python程序中,以提高性能。这对于计算密集型任务特别…...

行业洞察:分布式云如何助力媒体与娱乐业实现创新与增长?

过去数年&#xff0c;流媒体经历了蓬勃的发展过程&#xff0c;观众可以根据喜好收看自己所喜爱的节目内容&#xff0c;并希望在全球范围内访问内容。 繁荣的市场让媒体和娱乐行业的 IT 领导者们竞相发力&#xff0c;用更短的时间去创造互动且令人难忘的内容体验&#xff0c;力求…...

【多线程 - 05、后台线程】

后台线程 后台线程&#xff0c;它是在后台运行的&#xff0c;它的任务是为其他线程提供服务&#xff0c;这种线程被称为“后台线程&#xff08;Daemon Thread&#xff09;”&#xff0c;又称为“守护线程”或“精灵线程”。JVM的垃圾回收线程就是典型的后台线程。 后台线程的特…...

C语言之文件操作(剩余部分)

上篇博客字数到极限了&#xff0c;给大家把内容补充在这一篇&#xff0c;我们还剩下文件读取结束的判定和文件缓冲区的内容没有介绍&#xff0c;让我们开始下面的学习吧&#xff01; 目录 1.文件读取结束的判定 1.1feof函数 1.2ferror函数 代码示例 2.文件缓冲区 2.1fflu…...

【PC】开发者日志:竞技比赛验证系统强化

各位玩家大家好&#xff01;欢迎收看本期开发者日志。 在11月1日发布的第26赛季第2轮更新公告中&#xff0c;我们提到了有关强化比赛验证系统的内容。想必各位玩家一定会对我们加强验证系统的背景和意图感到好奇&#xff0c;为此我们想通过今天这篇反作弊开发者日志来向大家更详…...

c++用map,创建类似于python中的字典

1.创建 #include <map> #include <string> #include <iostream>using namespace std; int main() {/*using std::map;using std::string;using std::cout;*/map<string, string> myMap1 {{"Name", "ClearLove"},{"Gender&q…...

VuePress介绍及使用指南

VuePress是一个基于Vue.js的静态网站生成工具&#xff0c;它专注于以Markdown为中心的项目文档。VuePress具有简单易用的特性&#xff0c;同时提供了强大的自定义和扩展性。在本文中&#xff0c;我们将介绍VuePress的基本概念&#xff0c;并提供一个简单的使用指南。 什么是Vue…...

Spring-Security前后端分离权限认证

前后端分离 一般来说&#xff0c;我们用SpringSecurity默认的话是前后端整在一起的&#xff0c;比如thymeleaf或者Freemarker&#xff0c;SpringSecurity还自带login登录页,还让你配置登出页,错误页。 但是现在前后端分离才是正道&#xff0c;前后端分离的话&#xff0c;那就…...

Django中Cookie和Session的使用

目录 一、Cookie的使用 1、什么是Cookie&#xff1f; 2、Cookie的优点 3、Cookie的缺点 4、Django中Cookie的使用 二、Session的使用 1、什么是Session&#xff1f; 2、Session的优点 3、Session的缺点 4、Django中Session的使用 三、Cookie和Session的对比 总结 D…...

云原生周刊:KubeSphere 3.4.1 发布 | 2023.11.13

开源项目推荐 Inspektor Gadget Inspektor Gadget 是一组用于调试和检查 Kubernetes 资源与应用程序的工具&#xff08;或小工具&#xff09;。它在 Kubernetes 集群中管理 eBPF 程序的打包、部署和执行&#xff0c;包括许多基于 BCC 工具的程序&#xff0c;以及一些专为在 I…...

逐帧动画demo

用这一张图实现一个在跑的猎豹的动画 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X…...

Mongodb 中,与索引相关的监控指标

Mongodb为集合添加索引&#xff0c;能够提高查询的效率&#xff0c;减少查询过程中检索文档的数量&#xff0c;改变文档检索的方式。 索引&#xff0c;采用集合中的一部分数据&#xff0c;构建了B tree&#xff0c;支持mongodb的高效检索。除$indexStats命令外&#xff0c;mong…...

图论14-最短路径-Dijkstra算法+Bellman-Ford算法+Floyed算法

文章目录 0 代码仓库1 Dijkstra算法2 Dijkstra算法的实现2.1 设置距离数组2.2 找到当前路径的最小值 curdis&#xff0c;及对应的该顶点cur2.3 更新权重2.4 其他接口2.4.1 判断某个顶点的连通性2.4.2 求源点s到某个顶点的最短路径 3使用优先队列优化-Dijkstra算法3.1 设计内部类…...

OpenCV 实现透视变换

一&#xff1a;OpenCV透视变换的概念 仿射变换(affine transform)与透视变换(perspective transform)在图像还原、图像局部变化处理方面有重要意义。通常&#xff0c;在2D平面中&#xff0c;仿射变换的应用较多&#xff0c;而在3D平面中&#xff0c;透视变换又有了自己的一席之…...

ChinaSoft 论坛巡礼|开源软件供应链论坛

2023年CCF中国软件大会&#xff08;CCF ChinaSoft 2023&#xff09;由CCF主办&#xff0c;CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办&#xff0c;将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…...

VUE 组合式API

响应式 data 选项式API_响应式 <template><h3>选项式API</h3><p>{{ message }}</p> </template> <script> export default {data(){return{message:"选项式API 绑定数据"}} } </script>组合式API_响应式 <…...

尝试使用php给pdf添加水印

在开发中增加pdf水印的功能是很常见的&#xff0c;经过实验发现这中间还是会有很多问题的。第一种模式&#xff0c;采用生成图片的方式把需要添加的内容保存成图片&#xff0c;再将图片加到pdf中间&#xff0c;这种方法略麻烦一些&#xff0c;不过可以解决中文乱码的问题&#…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...