解决element的Table表格组件的高度自适应问题
element
A Vue.js 2.0 UI Toolkit for Web
项目地址:https://gitcode.com/gh_mirrors/eleme/element
免费下载资源
·
解决element的Table表格组件的高度自适应问题
目的
在项目开发过程中,界面内容需要根据显示屏幕或缩放比例进行自适应,使用el-table的时候发现height属性使用 calc(100% - 250px)
不起作用,无法进行滚动操作,250是layout页面,其他组件布局高度。
原因
经过调试发现 el-table height 属性 只能使用 数字 或者 字符串 设定值能实现滚动效果。暂时先记录一种处理办法。
解决办法
1. 使用计算属性 窗口大小变化时,动态计算高度
<template>
<div class="wanan-page-container">
<el-card ref="cardRef" class="wanan-h-full" body-class="wanan-h-full">
<el-table
ref="tableRef"
:data="tableData"
show-overflow-tooltip
:height="table.tableAotoHeight"
highlight-current-row
border
>
<el-table-column width="40" align="center"></el-table-column>
<el-table-column prop="Id" label="编码" align="left" />
<el-table-column prop="Name" label="名称" align="center" />
<el-table-column prop="Ename" label="代码" align="center" />
</el-table>
</el-card>
</div>
</template>
<script setup lang="ts">
const cardRef = ref();
const table = reactive({
tableAotoHeight: 550
});
window.onresize = () => {
nextTick(() => {
table.tableAotoHeight = cardRef.value?.$el.clientHeight - 250;
});
};
onMounted(() => {
table.tableAotoHeight = cardRef.value?.$el.clientHeight - 250;
});
</script>
// 页面最底层容器,95px为菜单栏的高度
.wanan-page-container {
height: calc(100vh - 95px);
padding: 10px; // 统一样式,上下左右都给10px的内边距
}
// 继承父级高度
.wanan-h-full {
height: 100%;
}
GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:3 个月前 )
c345bb45
7 个月前
a07f3a59
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update table.md
* Update transition.md
* Update popover.md 7 个月前
更多推荐
已为社区贡献1条内容
所有评论(0)