Flex布局如果子组件高度超过父布局高度,会遮挡住下方的item

catorange 显示全部楼层 发表于 2025-1-9 15:24:21

【问题描述】

如下代码,第一个item会挡住第二个item。第一个item的内容超出了红色border,如何使item正常依次显示没有遮挡






 @State infoArray: Array<string> = new Array<string>()

  aboutToAppear(): void {
    this.infoArray.push("12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890")
    this.infoArray.push("第二行")
    this.infoArray.push("第三行")
  }

  build() {
    Column() {
      Scroll() {
        Flex({ justifyContent: FlexAlign.Start, alignContent: FlexAlign.Start, wrap: FlexWrap.Wrap }) {
          ForEach(this.infoArray, (item: string) => {
            Text(item)
              .fontSize(12)
              .constraintSize({ minWidth: '90%' })
              .border({ width: 1, color: Color.Red })
          }, (item: string) => JSON.stringify(item))
        }.align(Alignment.TopStart)
        .padding({ bottom: 20 })
      }.height('100').width('100')
    }
    .height('100%')
    .width('100%')
  }

【运行环境】

硬件: ROM版本: DevEvoStudio版本: SDK版本:12

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论4

hyacinth养花人

沙发 发表于 2025-1-13 15:21:13

Flex布局如果子组件高度超过父布局高度,会遮挡住下方的item

可以设置文本的最大行数和文本溢出样式

   Text(item)
              .fontSize(12)
              .constraintSize({ minWidth: '90%' })
              .border({ width: 1, color: Color.Red })
              .height(20)
              .maxLines(1)
              .textOverflow({ overflow: TextOverflow.Ellipsis})

catorange

发表于 2025-1-15 09:56  IP属地: 江苏省扬州市

回复 hyacinth养花人: 有没有能显示全部内容,且不会遮挡的方法

马迪

发表于 2025-1-15 16:01  IP属地: 河南省郑州市

回复 catorange: 那不是撑的变型了吗

hyacinth养花人

发表于 2025-1-16 09:32  IP属地: 福建省福州市

回复 hyacinth养花人: 不设置Scroll的高度,或者高度设置大一点

【3 条回复】
共4 条回复,点击查看

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部