vue2使用el-table遇到ResizeObserver loop completed with undelivered notifications报错解决

问题描述:

提示:element组件踩坑

使用el-table, 并且使用的height属性为绑定的相应data数据
绑定的动态height是通过window.addEventListener('resize')实时更新的
正常使用没有报错, 但是在我把el-table传入到一个插槽中之后就疯狂报错如标题
vue2使用el-table遇到ResizeObserver loop completed with undelivered notifications报错解决_第1张图片


原因分析:

开始排查

既然普通使用没有问题,是在插槽中出现的,那么就可以开始找不同了
下面是我报错状态下的页面结构
vue2使用el-table遇到ResizeObserver loop completed with undelivered notifications报错解决_第2张图片
直接开始怀疑是不是flex:1导致了resize监听中修改了table高度后,flex1宽度无限拉伸
vue2使用el-table遇到ResizeObserver loop completed with undelivered notifications报错解决_第3张图片
所以我们在父元素上添加属性
min-width: 0; || width: 0
这样flex:1就可以正常分配父元素剩下的内容空间了
如果不知道如何解决的参考:掘金:flex:1时,width:0作用


解决方案:

如果你也是因为flex布局给el-table的父元素属性定义为flex:1,并且你也是动态的height,那么很幸运你也可以参照我这个改啦

vue2使用el-table遇到ResizeObserver loop completed with undelivered notifications报错解决_第4张图片
在el-table的父容器写flex:1的地方也写上min-width: 0

你可能感兴趣的:(element-ui,vue.js,elementui)