使用flex布局,el-table自适应失效的问题

问题描述

el-table只能自适应变大,不能自适应变小

问题原因

el-table 组件的宽度是动态计算的,源码中resize事件绑定在 this.$el 上,flex容器下的width:100%会一直向上继承,直到flex容器下第一级子元素,但是当某个子元素的宽度出现固定值并且大于flex伸展的宽度的时候,那么容器就不会收缩,也就触发不了resize事件了。

解决方案一(推荐)

在右侧区域,即 flex:1;区域 添加 overflow-x:hidden 即可解决。(给表格的父元素加)

解决方法二

flex属性的容器设置相对定位
el-table外多包裹一层div,包裹的容器设置绝对定位及宽度,继承父级宽度
注意:这样会影响下面的元素