vue设置表格高度自适应

 <el-table
        size="medium"
        :default-sort="defaultSort"
        :data="tableList"
        ref="tab"
        class="mt20"
        :style="{'width':'100%'}"
        :height="gloable_tableHeight"
        v-loading="isLoading"
        @sort-change="changeTable"
      ></el-table>


data(){
        return {
            gloable_screenHeight: 0,//浏览器窗口的文档显示区的高度
            gloable_tableHeight: null,//table的高度
        }
    },
    watch: {
        // '$data': {
        //     handler(newVal, oldVal) {
        //         let param = {
        //             path    : window.location.href,
        //             data    : this.$data
        //         }
        //         this.$store.dispatch('setCache',param);
        //     },
        //     // immediate: true,
        //     deep: true
        // },
        gloable_screenHeight: {
            handler(n, o) {
                
              // 初始化表格高度
              if (n) {//监听窗口的ping文档显示区的高度的变化(90,15,39,50)分别代表分页的高度+padding:20+margin:20,section的padding:15,底部footer的高度39,顶部header的高度50
                 //设计原理为文档显示区的高度=(分页类的高度)+table高度+section的padding+底部footer的高度+顶部header的高度
            this.gloable_tableHeight =
                  n -
                  90-15-39-50+
                  "px";
              }
            },
              immediate: true,
              deep: true
          }
    },
    mounted() {//第一次获取文档显示区的高度的变化
        this.gloable_screenHeight = window.innerHeight;
    },
    updated(){//实时监测文档显示区的高度的变化
        window.onresize = () => {
        return (() => {
          this.gloable_screenHeight = window.innerHeight;
        })();
      };
    },

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值