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

el-table实现当内容过多时,el-table显示滚动条,页面不显示滚动条

估计有不少小伙伴在开发公司的ERP使用el-table都会遇到这么一个问题,就是产品经理提出,页面不出现滚动条,因为不美观。但是当el-table内容过多,超过页面的宽度时候,页面就会有滚动条。那应该如何解决呢?能不能让滚动条出现在el-table的容器中,而不是出现在页面上呢?

实现方案就是 resize时间 结合el-table的 max-height 属性 然后根据页面大小实现自适应

定义auto-height 指令

// auto-height.js
export default {componentUpdate(el,binding,vnode) {const self = vnode.context;if(!self || typeof self[binding.arg] === 'undefined' || self.autoHeightResizeListener) returnself.autoHeightResizeListener = () => {let top = el.offsetTop;let cur = el.offsetParent;while (cur) {top += cur.offsetTop;cur = cur.offsetParent;}const h = (window.innerHeight-top) + binding.value;self[binding.arg] = Math.max(h,100);}window.addEventListener('resize', self.autoHeightResizeListener,false);setTimeout(self.autoHeightResizeListener,50)}unbind(el,binding,vnode) {const self = vnode.context;if(self && self.autoHeightResizeListener) {window.removeEventListener('resize',self.autoHeightResizeListener,false)self.autoHeightResizeListener = null;}}

全局注册

//main.js
import autoHeight from './auto-height.js'
// 注册全局指令 
Vue.directive('auto-height',autoHeight )

案例使用

<el-tableref='table'v-auto-height:tableHeight='-50'  // 自定义一个默认值:max-height='height'>  // 初始值
</el-table>	data(){return {height:0, // 初始值}
}

代码解释:

  • v-auto-height 指令作用:用于监听窗口的resize时间,并根据窗口大小动态调整表格高度,确保表格最终占据的可用空间
  • v-auto-height:tableHeight=‘-50’ 表示将tableHeight 属性作为目标属性,并将-50作为初始值
  • tableHeight用于存储表格的最大高度,但会在autoHeightResize指令中进行动态计算
http://www.lryc.cn/news/436939.html

相关文章:

  • Java面试篇基础部分-Java中的异常以及异常处理
  • win11 MySQL的坑
  • stm32单片机个人学习笔记1(简单介绍)
  • python中@staticmethod、@classmethod用法
  • Harmony Next 文件命令操作(发送、读取、媒体文件查询)
  • Go语言中的链表与双向链表实现
  • 开始一个WPF项目时的记忆重载入
  • 用go语言实现树和哈希表算法
  • 基于SpringBoot+Vue+MySQL的校园健康驿站管理系统
  • 深入理解MATLAB中的事件处理机制
  • 线程--线程同步
  • 【QT】Qt窗口
  • 场外个股期权怎么给股票加杠杆?
  • 【Docker部署ELK】(7.15)
  • UE4_后期处理_后期处理材质及后期处理体积一
  • 【PyQt6 应用程序】基于QtDesigner做一个用户登录页面
  • Ollama—87.4k star 的开源大模型服务框架!!
  • MySQL表的操作与数据类型
  • mysql把某一个字段的值中的aa,替换成bb
  • 【系统架构设计师】原型模式详解
  • Spring @Async 深度解读:默认线程池执行器的配置与优化
  • 手把手教你用护核纪元地心护核者用服务器开服联机
  • Log4j 1.x如何升级到Log4j 2.x
  • CloudFlare问题与CDN问题
  • [Linux]:文件(上)
  • flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)
  • 第15-02章:理解Class类并获取Class实例
  • 【Authing身份云-注册安全分析报告-无验证方式导致安全隐患】
  • idea插件推荐之Cool Request
  • 从卫星和飞机等不同传感器方面由QGIS 遥感分析