在这里插入图片描述

前言
服务模块属于一个应用里面可以拓展的地方,三方服务或者新增加的服务全部可以放进来,这里用的核心组件就是Grid组件

一般的步骤

  1. 编写一个Gird的子组件item,这个item一般有图标和文字按照上下进行排列
  2. 编写一个Grid的组件单元,循环渲染多个item
  3. 编写一个容纳所有服务的页面,这个页面可以自行设计
  4. 每个服务的组件名、单元名可以单独封装成一个数据对象,这样便于修改和扩充
// 1.编写一个Gird的子组件item,这里已经封装了资源数据,例如长宽高边距等等,单独封装成常量
// 这里展示核心代码

export default struct GridItemComponent { 
  build() {  
    GridItem() {  
      Column() {  
        Image(this.itemImage)  
        Text(this.itemName)  
      }  
    }  
  }  
}
// 2.Grid的组件单元,这里展示核心代码

Grid() {  
  ForEach(this.gridData.gridItemList, (item: string) => {  
    GridItemComponent({ itemName: item })  
  },(item:string,index:number)=>index+JSON.stringify(item))  
}
//3. 容纳所有Grid组件的页面,这里展示核心代码

GridComponent({ gridData: featureGridData })  
//这里封装第2步的布局,传输数据,先渲染一个服务单元,如上图常用服务

List({ scroller: this.scrollerForList }) {  //这里按照List列表展示多个Grid组件单元
  ForEach(otherGridDataList, (item: GridData, index: number) => {  
    GridComponent({ gridData: item, isLastItem: index === otherGridDataList.length - 1 })  
  }, (item: GridData,index:number) =>index+JSON.stringify(item))  
}


Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐