升级至@angular/flex-layout 5.0.0-beta.14后FxFill功能异常求助
我刚踩过这个坑!升级到5.0.0-beta.14后,fxFill确实出现了这种诡异的情况——元素上明明已经加载了预期的内联样式(margin 0、width 100%、height 100%、min-width 100%、min-height 100%),但就是没法填满父容器。下面是我试过的几个有效解决方案:
检查父容器的flex上下文
fxFill的生效依赖父元素的flex布局环境,确保父容器已经正确应用了fxLayout指令(比如fxLayout="column"或fxLayout="row"),并且父元素本身有明确的尺寸约束(比如设置height: 100%)。如果还是不行,可以手动给父元素加上position: relative,这个小改动在很多场景下能触发fxFill的正确行为。用组合指令替代fxFill
临时放弃fxFill,改用fxFlex="1 1 auto"+fxLayoutAlign="stretch stretch"的组合,这两个指令搭配起来完全能实现fxFill的填满效果,而且在beta.14版本中表现稳定。排查样式冲突
打开浏览器开发者工具的元素面板,查看元素的computed样式,确认width、height等属性是否被全局样式或组件内的样式规则覆盖了。比如有些自定义样式可能会把min-height重置为auto,这就会抵消fxFill的内联样式效果。回退到稳定版本
这明显是beta版本的bug,如果你暂时不需要beta.14的新特性,可以直接回退到beta.13版本,命令如下:npm install @angular/flex-layout@5.0.0-beta.13 --save
内容的提问来源于stack exchange,提问作者Jun Kang

