HarmonyOS grid和list混合布局问题

build() {
  Column() {
    this.serverHeader('test')
    Grid() {
      ForEach(this.serverList, (item: string, index: number) => {
        GridItem() {
          Column() {
            Image('')
            Text(item)
          }
        }
      }, (item: string, index: number) => randomReuseIdentifier() + item + index)
    }
    .columnsTemplate('1fr 1fr 1fr 1fr')
    this.serverHeader(‘test’)
    List() {
      ForEach(['1', '2', '3'], (item: string, index: number) => {
        ListItemGroup({ header: this.serverType() }) {
          ForEach(['2', '3'], (item: string, index: number) => {
            ListItem() {
              this.listItem()
            }
          }, (item: string, index: number) => 'DetailRoomList' + item + index)
        }
      }, (item: string, index: number) => 'DetailRoomList' + item + index)
    }
    .backgroundColor(Color.Brown)
  }
  .backgroundColor(Color.White)
}

布局如上,如何设置grid的高度让下方的自定义布局和list能正常显示

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa
@Entry
@Component
struct ListPage {
  @State serverList: number[] = [1,2,3,4,5];

  build() {
    Column() {
      Flex({ direction: FlexDirection.Column }){
        Grid() {
          ForEach(this.serverList, (item: number, index: number) => {
            GridItem() {
              Column() {
                Image('')
                Text(`${item}`)
              }
            }

          }, (item: string, index: number) => item + index)
        }
        .maxCount(6)
        .layoutDirection(GridDirection.Column)
        .columnsTemplate('1fr 1fr 1fr 1fr')
        List() {
          ForEach(['1', '2', '3'], (item: string, index: number) => {
            ListItemGroup() {
              ForEach(['2', '3'], (item: string, index: number) => {
                ListItem() {
                  Text('1')
                    .height('auto')
                }
              }, (item: string, index: number) => 'DetailRoomList' + item + index)
            }
          }, (item: string, index: number) => 'DetailRoomList' + item + index)
        }
        .flexGrow(1)

        .border({width:1,color:'#000'})
      }
    }
    .backgroundColor(Color.White)
  }
}

可以在Gird组件加上maxCount属性,可实现Gird高度自适应的效果。

Gird参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-container-grid-V5

分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS Grid半模态问题
33浏览 • 1回复 待解决
HarmonyOS 图文混合问题
297浏览 • 1回复 待解决
HarmonyOS Grid占用行列的问题
52浏览 • 1回复 待解决
HarmonyOS 使用GridGriItem组合的问题
375浏览 • 1回复 待解决
HarmonyOS Grid自适应高度拖拽问题
558浏览 • 1回复 待解决
HarmonyOS List嵌套list中的布局
37浏览 • 1回复 待解决
HarmonyOS 容器控件的布局问题
43浏览 • 1回复 待解决
flutter混合遇到的问题
331浏览 • 1回复 待解决
HarmonyOS ListWeb嵌套问题
30浏览 • 1回复 待解决
HarmonyOS List组件不能嵌套Grid组件吗
81浏览 • 1回复 待解决
HarmonyOS Column布局包含list
197浏览 • 1回复 待解决
关于Grid容器WaterFlow使用上的问题
921浏览 • 1回复 待解决
HarmonyOS Grid相关问题
409浏览 • 1回复 待解决
ArkTS UI的List集合List冲突的问题
453浏览 • 1回复 待解决
鸿蒙reactnative混合开发怎么实现
2367浏览 • 1回复 待解决
WebList嵌套手势冲突问题
1043浏览 • 1回复 待解决
HarmonyOS Grid拖拽动画问题
74浏览 • 1回复 待解决
HarmonyOS Tabs嵌套Grid问题
88浏览 • 1回复 待解决
HarmonyOS Web组件List的嵌套使用问题
287浏览 • 1回复 待解决