el-table宽度无限延长问题处理

今天遇到一个奇怪现象,使用element-ui处理表格里,当表格里数据为空,视图里的表格宽度在不断拉长,查找原因看到 table有个行内样式width在不断变化,如图

开始我以为是ele-ui官方插件的一个bug,然后在百度上查了一下相关问题,给el-table处理了样式

<style lang="scss" scoped>
// 解决el-table宽度无限拉伸问题, 一定要加scoped, 否则deep无效
::v-deep .el-table{
    width: 100%;
    .el-table__header-wrapper table,.el-table__body-wrapper table{
        width: 100% !important;
    }
    .el-table__body, .el-table__footer, .el-table__header{
        table-layout: auto;
    }
}
</style>

本以为理所应当就好了,实际并没彻底解决问题,推敲后发现 table的宽度100%,应该是一个具体的数值,所以我把注意力放到了包裹table的容器里,由于上层div容器需要自适应屏幕宽度,所以容器的样式做了以下处理

<style lang="scss">
.table_box{
    // width: calc(100% - 200px); // 宽度不具体,导致表格无限拉长的关键因素
    width: calc(100vw - 200px); // 将calc(100%)改为calc(100vw)就可以了,原因是vw指屏幕整体宽度度量,这里可以设置成一个具体的值,比如800px
}
</style>

处理好这两步,问题就解决啦,遇到同样问题的小伙伴可以参考一下~ 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
el-tableElement UI 提供的一个表格组件,用于展示数据。关于 el-table无限变宽问题,可能是指在表格中存在大量列时,表格的宽度会自动适应列的数量,导致表格变得非常宽。 为了解决 el-table无限变宽问题,可以考虑以下几种方法: 1. 设置固定宽度:可以通过设置 el-table 的 width 属性为一个固定的值,来限制表格的宽度。这样无论列的数量多少,表格都会保持固定的宽度。 2. 使用滚动条:可以通过设置 el-table 的 scroll 属性,将表格放置在一个带有水平滚动条的容器中。这样即使表格的宽度超过容器的宽度,用户仍然可以通过滚动条来查看隐藏的列。 3. 隐藏部分列:如果表格中的列数量非常多,可以考虑隐藏一部分列,只显示用户关注的列。可以通过设置 el-table-column 的 show-overflow-tooltip 属性为 true,当列内容过长时,会显示 tooltip 提示。 4. 自定义列宽:可以通过设置 el-table-column 的 width 属性,为每一列设置一个固定的宽度。这样即使列的数量很多,每一列仍然会保持固定的宽度。 5. 响应式布局:可以根据不同的屏幕尺寸,动态调整 el-table 的列的显示方式。可以使用 Element UI 提供的响应式断点,通过设置 el-table-column 的 prop 属性为一个数组,来控制在不同的屏幕尺寸下显示不同的列。 以上是一些解决 el-table 无限变宽问题的方法,具体的选择可以根据实际需求和场景来确定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值