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

el-tabs与table样式冲突导致高度失效问题解决(vue2+elementui)

背景

正常的el-table能根据父容器自动计算剩余高度,并会在列表中判断自适应去放出滚动条。而el-tabs本身就是自适应el-tab-pane内容的高度来进行自适应调节,这样就会导致el-table计算不了当前剩余的高度,所以当el-tabs里面包含el-table时,el-table的高度就没法成功根据剩余高度来计算。

解决方案

第一种:固定高度

给一个固定的height="80"等等就可以解决,不过不是自适应的。

第二种:calc计算剩余高度+设定px固定高度

.tableClass {height: calc(100vh - 465px) !important;
}

把上述class加入到el-table当中,并且在el-table的height属性上添加

height="0px"

前者是为了给table一个计算后的固定高度,后者是将height属性和class中的height属性绑定起来。
为什么加上height="0px"就可以绑定class中的height值并且把0px覆盖掉呢?
这是因为当table的height属性是字符串时,就受控于外部样式,而它是数字时默认为px。就不受控于外部样式。

失败案例思考

我一开始的思路其实是通过让el-tabs计算剩余容器高度,从而间接让el-table获取到el-tabs这个父容器给它的值,那么我通过下列样式成功计算后后发现。

.el-tabs--card {height: calc(100vh - 300px);
}.el-tab-pane {height: calc(100vh - 300px);overflow-y: auto;
}

发现,咦,虽然变成el-tabs内部有滚动条,外部确实没有滚动条,但是为啥表头和页码也滚动了,我只想要表格内容滚动的呀。然后我就把el-pagination迁移到el-tab-pane外部,最后发现表头实在是不好处理,遂作罢(说明我一开始的思路就是错的)。

相关文章:

  • 【STM32实物】基于STM32的RFID多卡识别语音播报系统设计
  • Windows和 macOS 上安装 `nvm` 和 Node.js 16.16.0 的详细教程。
  • Electron Forge【实战】带图片的 AI 聊天
  • Mac下安装Python3,并配置环境变量设置为默认
  • pinia-plugin-persistedstate的使用
  • 左右分屏电商带货视频批量混剪自动剪辑生产技术软件:智能剪辑与合规化方案解析
  • [特殊字符] 开发工作高内存占用场景下,Windows 内存压缩机制是否应该启用?实测分析与优化建议
  • Gradio全解20——Streaming:流式传输的多媒体应用(1)——流式传输音频:魔力8号球
  • 搭建基于 ChatGPT 的问答系统
  • centos 安装jenkins
  • 记录idea可以运行但是maven install打包却找不到问题
  • CentOS Linux 环境二进制方式安装 MySQL 5.7.32
  • 端到端观测分析:从前端负载均衡到后端服务
  • 前端封装WebSocket工具n
  • 【XR】MR芯片 和 VR芯片之争
  • 函数调用及Chain——SQL+GLM
  • Java 中的 设计模式详解
  • Linux容器大师:K8s集群部署入门指南
  • 【开源工具】Python打造智能IP监控系统:邮件告警+可视化界面+配置持久化
  • 扣子智能体3:进行音乐创作
  • 人民日报评论员:因势利导对经济布局进行调整优化
  • 浪尖计划再出发:万亿之城2030课题组赴九城调研万亿产业
  • 司法服务保障西部陆海新通道建设,最高法专门发文
  • 美的集团一季度净利增长38%,库卡中国机器人接单增超35%
  • 工业富联一季度净利增长25%,云计算业务营收增长超50%
  • 中国人保聘任田耕为副总裁,此前为工行浙江省分行行长