美文网首页
给vue,element-ui中的table添加动态的高度

给vue,element-ui中的table添加动态的高度

作者: 她与星河皆遗憾 | 来源:发表于2021-08-23 16:54 被阅读0次

    需求:

    1.筛选的条件不固定(筛选的高度不固定),数据不多的情况下所加起来的高度不超过页面显示的高度,正常显示;
    2.如果数据超多,数据显示的高度加起来超过了当前页面的高度,table出现滚动条,页面不出现滚动条,分页组件依然可以显示

    搜索条件

     <div class="searchForm" ref="searchForm">放置搜索条件的地方</div>
    

    js中封装好的table的高度

    /**
     * table的max-height高度
     * @param that,解决this指向问题
     * @param val,固定的站位高度(例如:分页高度)
     * @param name,动态站位的高度获取的name(例如:查询动态的查询条件)
     * @returns {number},返回可用的高度
     */
    export function tableHeight(that, val=32, name) {
        let searchFormHeight = that.$refs[name].clientHeight // 可变的查询高度
        let pageHeight = document.documentElement.clientHeight // 可用窗口的高度
        let tableHeight = Number(pageHeight - (searchFormHeight + val)) // 计算完之后剩余table可用的高度
        return tableHeight + 'px'
    }
    

    将table的高度js文件单独引入页面,或者挂载到全局方法

     mounted(){
        // 页面加载的时候设置table的高度
        this.tableHeight = tableHeight(this,40,'searchForm')
        // 页面大小该变的时候(缩放页面)设置table的高度(可加可不加)
        window.onresize = ()=> {
            this.tableHeight = this.$utils.tableHeight(this,40, 'searchForm')
        }
    },
    

    table中高度的使用

    <el-table ref="table" :data="data" :max-height="height"></el-table>
    
    数据的条数不多的时候
    数据条数超多,页面显示不开
    搜索条件的高度不固定

    相关文章

      网友评论

          本文标题:给vue,element-ui中的table添加动态的高度

          本文链接:https://www.haomeiwen.com/subject/tipibltx.html