VUE 实现填充剩余高度

该博客介绍了如何使用calc100vh和element-resize-detector插件动态计算页面高度,确保内容区域在头部高度变化时仍能保持全屏显示。通过监听头部元素尺寸变化,实时更新内容区域的高度,避免使用v-if导致的问题。
摘要由CSDN通过智能技术生成

效果图:展开前

 展开后:

 实现思路:

1、使用calc 100vh - top的高度

2、top的高度:采用element-resize-detector 组件获取

引用插件

npm install element-resize-detector

监控top的高度

mounted() {
    //监控头部变化
    var elementResizeDetectorMaker = require("element-resize-detector");
    const erdm = elementResizeDetectorMaker();
    erdm.listenTo(document.getElementById("searchPannel"), (element) => {
      this.dynGridHeight = element.offsetHeight;
      console.log("height:" + this.dynGridHeight);
    });
  },

使用top高度

<div class="table":style="'height: calc(100vh - ' +dynGridHeight +'px - 50px - 40px - 20px - 16px)'">

最后注意一点,不要用v-if ,需要用v-show,否则会偶发出现一些监控top不准的情况

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值