二次封装ant design vue 1.7.8版本中table,实现高度 随父盒子高度自适应
时间: 2023-12-26 21:07:08 浏览: 169
首先,在封装的table组件中,需要在template中使用一个div包裹住整个table,同时设置该div的高度为100%。
```html
<template>
<div class="custom-table" style="height: 100%">
<a-table :columns="columns" :data-source="dataSource" :pagination="false">
<slot></slot>
</a-table>
</div>
</template>
```
接着,在style中,为a-table添加一个max-height属性,值为100%。
```css
.custom-table .ant-table {
max-height: 100%;
}
```
最后,在父组件中,需要为包含该table的容器设置高度。这里使用了flex布局,将容器的flex-grow属性设置为1,使其自适应父容器的高度。
```html
<template>
<div class="parent-container">
<custom-table :columns="columns" :data-source="dataSource">
<a-button slot="title" type="primary">添加</a-button>
<template slot="action" slot-scope="text, record">
<a-button size="small">编辑</a-button>
<a-button size="small">删除</a-button>
</template>
</custom-table>
</div>
</template>
<style>
.parent-container {
display: flex;
flex-direction: column;
height: 100%;
}
.parent-container custom-table {
flex-grow: 1;
}
</style>
```
这样就可以实现高度随父盒子高度自适应的table组件了。
阅读全文