el-table设置高度自适应,动态设置height

本文介绍了如何在Vue.js中创建一个能够自适应不同浏览器和屏幕尺寸的el-table组件。通过动态绑定高度、计算表格高度方法及监听窗口resize事件,确保表格始终适应页面。只需四个简单步骤,即可实现el-table的高度自适应,让页面布局更加流畅。
摘要由CSDN通过智能技术生成

前提:

当遇到不同浏览器不同屏幕尺寸时,想让el-table有个自适应的高度。只需三个步骤即可实现。


1、 首先在el-table中动态绑定一个高度 :height="tableHeight", 并在data中声明tableHeight。 

 <el-table
      ref="multipleTable"
      :data="tablist"
      style="width: 100%"
      v-if="tableHeight"
      :height="tableHeight"
    >
</el-table>

 

data(){
	return {
		tableHeight: "",//表格高度
	}
}

2、 声明一个方法来计算el-table高度

 methods: {
   //计算table高度(动态设置table高度)
    getTableHeight() {
      let tableH = 210; //距离页面下方的高度
      let tableHeightDetil = window.innerHeight - tableH;
      if (tableHeightDetil <= 300) {
        this.tableHeight = 300;
      } else {
        this.tableHeight = window.innerHeight - tableH;
      }
    },
  }

3、 在created中调用该方法并给mounted挂载window.onresize事件

  mounted() {
    //挂载window.onresize事件(动态设置table高度)
    let _this = this;
    window.onresize = () => {
      if (_this.resizeFlag) {
        clearTimeout(_this.resizeFlag);
      }
      _this.resizeFlag = setTimeout(() => {
        _this.getTableHeight();
        _this.resizeFlag = null;
      }, 100);
    };
  },
  
  created() {
    this.getTableHeight();
  },

4、 最后保存,可以通过修改 tableH = 210; 来修改距离页面下方的高度查看效果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值