美文网首页
实现table表格高度自适应

实现table表格高度自适应

作者: Xbbing | 来源:发表于2022-12-16 16:47 被阅读0次

    目的: 当前屏幕展示 滚动条在table里 滚动不会影响筛选项和分页

    image.png

    组件封装

    <!-- 筛选项+表格+分页 布局 -->
    <template>
        <el-container class="qm-table">
            <!-- 这块包裹serchForm筛选条件 -->
            <el-header class="qm-table-header">
                <slot name="header"></slot>
            </el-header>
            <!-- 这块包裹table和pagenation -->
            <el-main class="qm-table-nopadding">
                <div class="qm-table-content">
                    <slot name="table"></slot>
                </div>
            </el-main>
        </el-container>
    </template>
    
    <script>
    import { Container, Header, Main } from 'element-ui';
    
    export default {
        name: 'QmTableLayout',
        components: {
            elContainer: Container,
            elHeader: Header,
            elMain: Main
        },
    };
    </script>
    
    <style lang="scss" scoped>
    .qm-table {
        height: 100%;
        &-header {
            width: 100%;
            height: auto !important;
        }
        &-nopadding {
            padding: 0;
        }
        &-content {
            width: 100%;
            height: calc(100% - 60px);
        }
    }
    </style>
    

    组件使用

    <template>
        <qm-table-layout>
            <template #header>
                <!-- 搜索 -->
                <el-input />
            </template>
            <template #table>
                <!-- table 列表 -->
                <!-- !!!!!!!!!!!table一定要设置height="100%"!!!!!!!!!!! -->
                <el-table class="mt" height="100%"  size="mini" :data="tableData"  border >
                    <el-table-column type="selection"  width="55"></el-table-column>
                </el-table>
                <el-pagination
                    small
                    @size-change="handle_size_change"
                    @current-change="handle_page_change"
                    :current-page.sync="pageData.page"
                    :page-size="pageData.page_size"
                    layout="total, prev, pager, next"
                    :total="parseInt(pageData.count)">
                </el-pagination>
            </template>
        </qm-table-layout>
    </template>
    
    <script>
    import qmTableLayout from '@/component/qm-table-layout';
    
    export default {
        components: {
            qmTableLayout
        },
    };
    </script>
    <style lang="scss" scoped>
    
    </style>
    

    相关文章

      网友评论

          本文标题:实现table表格高度自适应

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