Element技能点--el-table固定表头且高度占满

本文介绍如何在 Element UI 中实现表格固定表头及高度控制的方法,包括使用百分比高度、视口高度单位 vh 和动态调整高度等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点此查看全部文字教程、视频教程、源代码

1. 固定表头

el-table固定表头非常简单,只要给添加height属性即可。

<el-table height="250"></el-table>

2. 占满高度

如果想让表格占满当前高度,必要前提是让父元素的高度先撑满当前高度。

<div style="height:100%">
	<el-table height="100%"></el-table>
</div>

3. 使用vh占满高度

而有些情况下,设置height为100%只能保证固定表头,高度无法占满,此时可以尝试使用。注意1vh表示可视区域的高度的1%,还是非常好用的。

<div style="height:100%">
	<el-table height="100vh"></el-table>
</div>

注意使用vh后,会发现虽然占满了,但是表头又无法固定了…

我太难了。。

4. 动态调整高度

最终还有一个方案,就是动态调整:

<div class="table-container">
	<el-table :height="elTableHeight "></el-table>
</div>
  mounted: function () {
    // 高度调整
    this.elTableHeight = $('.table-container').height();
  }

大功告成!

Element UI的`el-table`组件中,如果你想要实现固定表头表格高度能够自动适应并充满剩余空间,可以结合Vue的生命周期钩子和CSS布局来完成。以下是基本步骤: 1. 使用`fixed`属性将表头固定: 在你的`el-table`标签上设置`fixed-top`或`fixed-left`来锁定表头,比如只固定表头: ```html <el-table ref="tableRef" fixed-header> <!-- 表头部分 --> <el-table-column type="index"></el-table-column> <el-table-column prop="name" label="姓名" width="200"></el-table-column> <!-- 其他列 --> </el-table> ``` 2. 设置表格高度响应式: 在CSS中,你可以通过监听窗口大小变化,动态调整表格高度。可以使用`@resize`事件来监听窗口改变,同时配合Vue的`$nextTick`函数确保DOM更新完毕后再计算高度: ```javascript export default { data() { return { initialTableHeight: 0, }; }, mounted() { window.addEventListener('resize', this.updateTableHeight); this.updateTableHeight(); }, beforeDestroy() { window.removeEventListener('resize', this.updateTableHeight); }, methods: { updateTableHeight() { this.$nextTick(() => { const tableRef = this.$refs.tableRef; if (tableRef) { // 调整表格高度,使其填充满可视区域减去表头高度 const clientHeight = window.innerHeight - this.$refs.header.offsetHeight; tableRef.style.height = `${clientHeight}px`; } }); }, }, } ``` 在这个例子中,`this.$refs.header.offsetHeight`获取的是已渲染的表头元素的高度。这样,当窗口大小发生变化时,表格高度会相应地调整。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员大阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值