elementPlus el-table如何在固定的宽度内,每一列都等比缩放,不显示横向滚动条。

直接说结果,每一个el-table-column都设置min-width属性,要求min-width总和不能超过el-table的宽度。

当采用flex布局的时候,使用<el-table style="width: 100%">显示数据的时候,很容易造成el-table超出盒子的宽度。

解决方法:

el-table的父元素不能是flex:1的元素,需要在外面再加一层元素,并且父元素设置成absolute,祖父元素设置成relative即可

解决这个问题,本以为万事大吉,结果产品说要完整显示表格出来,最好不要出现横向滚动条,使他们等比例压缩。

解决方法:

其实el-table已经做过这样的处理了。当表格的内容不足以撑起整个表格宽度的时候,每列的宽度是等比缩放的。但是当内容充满的时候,就会出现横线滚动条。打开控制台,拖拽浏览器视口宽度,可以发现el-table-column的宽度是动态计算的,由此应该是javaScript做的处理,直接修改源码肯定是不切实际的。我们可以发现el-table-colum缩小到80px的时候就不在缩小了,那么是否有个最小宽度呢。然后就解决了,戏剧性,哈哈哈。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
elementplus 表格宽度自适应可以通过以下两种方案实现。 方案一:使用el-table-column的flexColumnWidth方法来计算列宽。该方法会遍历每一列的内容,获取最宽一列宽度,并加上表格的内间距,最后返回一个自适应的宽度值。可以在el-table-column标签中使用该方法来设置列宽。例如: ```html <el-table :data="tableData"> <el-table-column prop="name" label="名称" :width="flexColumnWidth('名称', 'name')" /> </el-table> ``` 方案二:设置el-tabletable-layout属性为'auto',并添加一个tableAuto类名。这样可以让表格宽度自适应内容。例如: ```html <el-table :data="tableData" table-layout="auto" class="tableAuto"> <el-table-column prop="name" label="名称" /> </el-table> ``` 需要注意的是,方案一需要在methods中定义flexColumnWidth方法,并在计算列宽时考虑表格的内间距。而方案二则直接通过设置table-layout属性和添加类名来实现表格宽度的自适应。选择哪种方案取决于具体的需求和实际情况。 #### 引用[.reference_title] - *1* [vue+elementPlus el-table组件列自适应宽度](https://blog.csdn.net/StevenYanghahha/article/details/130581203)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [elementUI 表格宽度自适应、不换行](https://blog.csdn.net/luoyumeiluoyumei/article/details/125853152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值