HarmonyOS 鸿蒙Next flexBasis(0) 与预期不符
HarmonyOS 鸿蒙Next flexBasis(0) 与预期不符
flexBasis(0) 应该是将主轴基准尺寸设为0才对,为什么布局结果和 ‘auto’ 一样,基准尺寸为自身宽度?
4 回复
这个flexBasis根本就不生效,(不知道是不是我理解的问题)
[@Component](/user/Component)
[@Entry](/user/Entry)
struct flexBasisTest {
build() {
Flex({
direction: FlexDirection.Row,
alignItems: ItemAlign.Center
}) {
Row()
.width(100)
.height(100)
.backgroundColor(Color.Red)
.flexBasis(100)
Text('占位文本占位文本占位文本')
}
.width(200)
}
}
我这个demo预期是个宽度为100的红色的正方形,但实际被压缩成长方形了
flexBasis(0)目前实现逻辑的确是处理成auto的,在文档中没有写清,后续会更新文档
那怎么实现真正的flexBasis(0)呢
针对您提到的HarmonyOS 鸿蒙Next中flexBasis(0)与预期不符的问题,这可能是由于系统在某些特定布局或组件处理上的内部机制导致的。在Flexbox布局中,flexBasis通常用于设置项目的起始大小,但当设置为0时,其实际表现可能会受到其他CSS属性的影响,如flex-grow和flex-shrink,以及项目的默认尺寸和容器的布局方式。
在HarmonyOS 鸿蒙Next系统中,由于系统对Flexbox布局的实现可能有所优化或调整,因此flexBasis(0)的表现可能与传统Web浏览器或其他操作系统中的表现存在差异。
为了解决这个问题,您可以尝试调整其他相关的CSS属性,或者检查您的布局代码是否存在其他潜在的问题。此外,也可以关注华为开发者官方网站或相关论坛,看看是否有其他开发者遇到并解决了类似的问题。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。