el-table根据容器大小自适应滚动条-修改滚动条样式

news/2024/5/20 5:56:57/文章来源:https://blog.csdn.net/qq_44278289/article/details/132358695

需求:父容器里有多个容器为上下级,之后浏览器在缩放的时候,上面容器高度改变了,所以el-table被挤压,如果el-table设置的是固定的高度,那么挤压后内容超出父容器,本文章就是解决这个问题

不自适应错误用法:浏览器伸缩挤压后元素超出了

 1.在el-table的父容器上添加class

table_height_big:用于控制浏览器屏幕在大于多少时的样式

table_height_small':浏览器宽高小于多少的样式

tableClass :变量用于类名切换,默认在data中为true

关键代码::class="tableClass ? 'table_height_big' : 'table_height_small'"

  <div class="container_main" :class="tableClass ? 'table_height_big' : 'table_height_small'"><el-table :data="tableData" style="width: 100%"><el-table-column type="index" label="序号" align="center"> </el-table-column><el-table-column prop="name" label="操作内容" align="center"> </el-table-column><el-table-column prop="address" label="设备类型" align="center"> </el-table-column></el-table><div class="table-page-right"><el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="currentPage4":page-sizes="[100, 200, 300, 400]":page-size="100"layout="total, sizes, prev, pager, next, jumper":total="400"></el-pagination></div></div>

 2.类名样式修改

这个40px,是浏览器在大于多少的时候,最上面元素的值

124就是浏览器小于1350的时候,顶部元素高度值,可以根据自己的元素高度来调整

 

    .table_height_big {height: calc(100% - 62px);}.table_height_small {height: calc(100% - 124px);}
::v-deep .el-table {height: 88%;.el-table__body-wrapper {height: calc(100% - 48px) !important; // 表格高度减去表头的高度overflow-y: auto;}
}

3.在mounted中添加window.addEventListener用于监听浏览器的宽高

window.innerWidth:当前浏览器的宽度为多少,我这边写的是如果是小于1350的话就修改类名,这个值需要你自己测试下宽度为多少才会换行,换行的时候修改类名就行

   mounted() {this.internetCardQuery();window.addEventListener('resize', this.internetCardQuery);},methods: {internetCardQuery() {if (window.innerWidth < 1350) {this.tableClass = false;} else {this.tableClass = true;}}},

4.销毁时取消监听

   beforeDestroy() {// 取消监听window.removeEventListener('resize', this.internetCardQuery);}

5.完整代码

<template><div class="content-box"><div class="container"><div class="container_header"><el-form :inline="true" label-width="100px" :model="formInline"><el-form-item label="选择时间:"><el-date-pickerv-model="formInline.time"type="datetimerange":picker-options="pickerOptions"range-separator="至"start-placeholder="开始日期"end-placeholder="结束日期"align="right"></el-date-picker></el-form-item><el-form-item label="设备类型:"><el-select v-model="formInline.type" placeholder="请选择"><el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option></el-select></el-form-item><el-form-item label-width="30px" label=" "><el-button type="primary">查询</el-button><el-button type="primary" plain>重置</el-button></el-form-item></el-form></div><div class="container_main" :class="tableClass ? 'table_height_big' : 'table_height_small'"><el-table :data="tableData" style="width: 100%"><el-table-column type="index" label="序号" align="center"> </el-table-column><el-table-column prop="name" label="操作内容" align="center"> </el-table-column><el-table-column prop="address" label="设备类型" align="center"> </el-table-column><el-table-column prop="name" label="描述" align="center"> </el-table-column><el-table-column prop="name" label="操作类型" align="center"> </el-table-column><el-table-column prop="name" label="操作人" align="center"> </el-table-column></el-table><div class="table-page-right"><el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="currentPage4":page-sizes="[100, 200, 300, 400]":page-size="100"layout="total, sizes, prev, pager, next, jumper":total="400"></el-pagination></div></div></div></div>
</template><script>
export default {data() {return {pickerOptions: {shortcuts: [{text: '最近一周',onClick(picker) {const end = new Date();const start = new Date();start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);picker.$emit('pick', [start, end]);}},{text: '最近一个月',onClick(picker) {const end = new Date();const start = new Date();start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);picker.$emit('pick', [start, end]);}},{text: '最近三个月',onClick(picker) {const end = new Date();const start = new Date();start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);picker.$emit('pick', [start, end]);}}]},formInline: {time: '',type: ''},options: [{value: '选项1',label: '黄金糕'},{value: '选项2',label: '双皮奶'}],tableData: [{date: '2016-05-02',name: '王小虎',address: '上海市普陀区金沙江路 1518 弄'},{date: '2016-05-04',name: '王小虎',address: '上海市普陀区金沙江路 1517 弄'},{date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄'},{date: '2016-05-03',name: '王小虎',address: '上海市普陀区金沙江路 1516 弄'},{date: '2016-05-04',name: '王小虎',address: '上海市普陀区金沙江路 1517 弄'},{date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄'},{date: '2016-05-03',name: '王小虎',address: '上海市普陀区金沙江路 1516 弄'},{date: '2016-05-01',name: '王小虎',address: '上海市普陀区金沙江路 1519 弄'},{date: '2016-05-03',name: '王小虎',address: '上海市普陀区金沙江路 1516 弄'}],currentPage4: 5,tableClass: true};},mounted() {this.internetCardQuery();window.addEventListener('resize', this.internetCardQuery);},created() {},methods: {handleSizeChange(val) {console.log(`每页 ${val} 条`);},handleCurrentChange(val) {console.log(`当前页: ${val}`);},internetCardQuery() {if (window.innerWidth < 1350) {this.tableClass = false;} else {this.tableClass = true;}}},beforeDestroy() {// 取消监听window.removeEventListener('resize', this.internetCardQuery);}
};
</script><style lang="scss" scoped>
.container {height: 85vh;width: 100%;background-color: #fff;padding: 20px;box-sizing: border-box;.container_header {width: 100%;}.table-page-right {text-align: right;margin-top: 15px;}.table_height_big {height: calc(100% - 62px);}.table_height_small {height: calc(100% - 124px);}
}
/* 设置滚动条宽度和高度 */
::v-deep .el-table__body-wrapper::-webkit-scrollbar {width: 10px; /* 横向滚动条 */height: 10px; /* 纵向滚动条 必写 */
}
/* 设置滚动条样式 */
::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb {background-color: #dde;border-radius: 3px;
}
::v-deep .el-table {height: 88%;.el-table__body-wrapper {height: calc(100% - 48px) !important; // 表格高度减去表头的高度overflow-y: auto;}
}
</style>

6.效果

 文章到此结束,希望对你有所帮助~~

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytorch 入门1-tensor 广播 view reshape

tensor 的四则运算broadcast import torch import numpy as np # 张量tensor 随机初始化 x torch.rand(4,3) print(x) y torch.randn(4,3) print(y)# 初始化全零 张量 a torch.zeros((4,4),dtypetorch.long) print(a) #初始化全一 张量 b torch.ones(4,4) print(b) c tor…

【MyBatis面试题(20道)】

文章目录 MyBatis 面试题&#xff08;20道&#xff09;基础1.说说什么是MyBatis&#xff1f;2.Hibernate和MyBatis有什么区别&#xff1f;3.MyBatis使用过程&#xff1f;生命周期&#xff1f;4.在mapper中如何传递多个参数&#xff1f;5.实体类属性名和表中字段名不一样&#x…

LeetCode863. 二叉树中所有距离为 K 的结点(相关话题:深度遍历,广度遍历)

题目描述 给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 k 。 返回到目标结点 target 距离为 k 的所有结点的值的列表。 答案可以以 任何顺序 返回。 示例 1: 输入:root = [3,5,1,6,2,0,8,null,null,7,4], target = 5, k = 2 输出:[7,4,1] 解释…

5种做法实现table表格中的斜线表头效果(HTML+CSS+JS+Canvas+SVG)

table表格&#xff0c;这个东西大家肯定都不陌生&#xff0c;代码中我们时常都能碰到&#xff0c;那么给table加一个斜线的表头有时是很有必要的&#xff0c;但是到底该怎么实现这种效果呢&#xff1f; 我总结了以下几种方法&#xff1a; 1、最最最简单的做法 直接去找公司的…

c语言每日一练(10)

前言&#xff1a;每日一练系列&#xff0c;每一期都包含5道选择题&#xff0c;2道编程题&#xff0c;博主会尽可能详细地进行讲解&#xff0c;令初学者也能听的清晰。每日一练系列会持续更新&#xff0c;暑假时三天之内必有一更&#xff0c;到了开学之后&#xff0c;将看学业情…

【Linux】Centos安装 mariadb 并授权远程登陆

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

ubuntu 20.04 安装 高版本cuda 11.7 和 cudnn最新版

一、安装显卡驱动 参考另一篇文章&#xff1a;Ubuntu20.04安装Nvidia显卡驱动教程_ytusdc的博客-CSDN博客 二、安装CUDA 英伟达官网&#xff08;最新版&#xff09;&#xff1a;CUDA Toolkit 12.2 Update 1 Downloads | NVIDIA Developer CUDA历史版本下载地址&#xff1a;C…

干货!一文告诉你SCRM和CRM有什么区别和联系?

在现代商业领域&#xff0c;我们经常听到两个缩写词&#xff0c;即"SCRM"和"CRM"。它们都与客户关系管理有关&#xff0c;但具体是什么意思&#xff1f;本文将用通俗易懂的方式解释这两个概念&#xff0c;以实例分析SCRM和CRM的功能并探讨它们之间的区别和…

【搭建WebDAV服务手机ES文件浏览器远程访问】

文章目录 1. 安装启用WebDAV2. 安装cpolar3. 配置公网访问地址4. 公网测试连接5. 固定连接公网地址6. 使用固定地址测试连接 有时候我们想通过移动设备访问群晖NAS 中的文件,以满足特殊需求,我们在群辉中开启WebDav服务,结合cpolar内网工具生成的公网地址,通过移动客户端ES文件…

一种新型的4H-SiC超结共模场效应晶体管(UMOSFET),具有异质结二极管,以提高反向恢复特性

标题&#xff1a;A novel 4H-SiC super junction UMOSFET with heterojunction diode for enhanced reverse recovery characteristics 摘要 摘要—本文提出并通过数值模拟研究了一种新型的碳化硅&#xff08;SiC&#xff09;超结共模场效应晶体管&#xff08;UMOSFET&#xf…

发布python模仿2023年全国职业的移动应用开发赛项样式开发的开源的新闻api,以及安卓接入案例代码

python模仿2023年全国职业的移动应用开发赛项样式开发的开源的新闻api&#xff0c;以及原生安卓接入案例代码案例 源码地址:keyxh/newsapi: python模仿2023年全国职业的移动应用开发赛项样式开发的开源的新闻api&#xff0c;以及安卓接入案例代码 (github.com) 目录 1.环境配…

WSL2和本地windows端口互通

众所周知 WSL 默认安装后&#xff0c;只允许windows访问 Windows Subsystem for Linux&#xff0c;而WSL是不能反之访问本地windows。我之前用vmware的思路认为是nat的网络模式&#xff0c;于是改成了桥接&#xff0c;结果wsl的桥接模式被我改的能访问本地&#xff0c;但是却不…

Jmeter 接口测试总结

背景介绍 对于 Android 项目来说&#xff0c;使用的是 Java 开发&#xff0c;网络请求接口的数量庞大且复杂&#xff0c;测试人员无法很直观的判断、得出网络请求是否存在问题。另一方面&#xff0c;为了验证请求接口是否能够在大负荷条件下&#xff0c;长时间、稳定、正常的运…

3、Spring之底层架构核心概念解析

BeanDefinition BeanDefinition表示Bean定义,BeanDefinition中存在很多属性用来描述一个Bean的特点。比如: class,表示Bean类型scope,表示Bean作用域,单例或原型等lazyInit:表示Bean是否是懒加载initMethodName:表示Bean初始化时要执行的方法destroyMethodName:表示Be…

善于打仗的人,没有特别大的名气和勇功

善于打仗的人&#xff0c;没有特别大的勇功 【安志强趣讲《孙子兵法》第15讲】 【原文】 见胜不过众人之所知&#xff0c;非善之善者也&#xff1b;战胜而天下曰善&#xff0c;非善之善者也。 【趣讲白话】 预判胜负没有超出常人的见识&#xff0c;算不上高明中最高明的&#x…

简单认识Docker的资源控制

文章目录 一、CPU资源限制1.设置CPU使用率上限2.设置CPU资源占用比&#xff08;设置多个容器才有效&#xff09;3.设置容器与CPU绑核 二、内存资源限制三、对磁盘I/O配额的限制 一、CPU资源限制 1.设置CPU使用率上限 Linux通过CFS&#xff08;Completely Fair Scheduler&#…

【C语言学习】二分法查找有序数组中的数

二分查找的基本原理 二分查找的基本逻辑就是每次找区间的中间数&#xff0c;然后与要查找的数进行比较&#xff0c;不断的缩小区间&#xff0c;最后区间中只剩一个数&#xff0c;即为要查找的数。如果不是&#xff0c;则没有该数。 二分查找只适用于有序数组 以数组中的数从左…

[oneAPI] 手写数字识别-VAE

[oneAPI] 手写数字识别-VAE oneAPIVAE模型实现手写数字识别任务定义使用包定义参数加载数据VAE模型与介绍训练过程结果 比赛&#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0517 Intel DevCloud for oneAPI&#xff1a;https://devcloud.intel.com/one…

web文件上传

文件上传指的是&#xff0c;将本地的图片、视频、音频上传到服务器&#xff0c;提供给其他用户浏览和下载的过程 前端需求 想要进行文件上传对于web前端来说有三个重要要素 1.<input type"file" name"image"> 提供这样的file文件上传格式 2. metho…

A - Bone Collector(01背包)

Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave … The bone collector had a big bag with a volume of V ,and along his tr…