鸿蒙_组件导航Navigation的基础用法

ArkUI组件导航,可以在一个页面内虚拟出多个组件导航页面,我们通过案例来测试一下基础用法:

TypeScript 复制代码
@Entry
@Component
struct TestNavigation {
  @State message: string = 'Test Navigation';
  //定义一个页面栈(用于管理页面,记录页面路径信息及访问顺序等)
  navPathStack: NavPathStack = new NavPathStack()

  //自定义构建函数(用来承载多个页面内容)
  @Builder
  builderPages(name: string) {
    if (name === 'pageOne') {
      //页面1内容要放到导航目标内
      NavDestination() {
        //可以直接罗列组件,不用再通过根节点包裹
        Text('页面1').fontColor(Color.Red)
        Text('的内容')
      }
    } else {
      //页面2内容也要放到导航目标内
      NavDestination() {
        //这个我们测试一下横向排布
        Row() {
          Text('页面2').fontColor(Color.Orange)
          Text('的内容')
        }
      }
    }
  }

  build() {
    Column() {
      Text(this.message)
        .fontSize(33)
        .fontWeight(FontWeight.Bold)
        .onClick(() => {
          this.message = 'Welcome';
        })

      //组件导航
      Navigation(this.navPathStack) {
        //这里写根页面
        Button('打开页面1', { stateEffect: true, type: ButtonType.Capsule })
          .width('80%')
          .margin(20)
          .onClick(() => {
            this.navPathStack.pushPath({ name: 'pageOne' });
          })
        Button('打开页面2', { stateEffect: true, type: ButtonType.Capsule })
          .width('80%')
          .onClick(() => {
            this.navPathStack.pushPath({ name: 'pageTwo' });
          })
      }
      .navDestination(this.builderPages)
      .border({ width: 1, color: Color.Black })
      .margin(50)
      .backgroundColor(Color.Gray)
    }
    .height('100%')
    .width('100%')
  }
}

运行效果如下:

相关推荐
想你依然心痛9 小时前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与HMAF的“直播智脑“——PC端AI智能体电商直播中控台
人工智能·华为·harmonyos
枫叶丹49 小时前
【HarmonyOS 6.0】Enterprise Data Guard Kit:新增获取重置锁屏密码的企业恢复密钥能力详解
开发语言·华为·harmonyos
想你依然心痛10 小时前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与HMAF的“鸿蒙代码导师“——PC端AI智能体沉浸式编程学习系统
人工智能·学习·harmonyos
音视频牛哥10 小时前
SmartMediaKit 面向企业级场景的低延迟实时音视频解决方案
华为·实时音视频·harmonyos·rtsp服务器·超低延迟rtsp播放器·超低延迟rtmp播放器·实时音视频sdk
小成Coder10 小时前
【Jack实战】如何用 Core Vision Kit 给旅行票据做端侧 OCR 识别
华为·ocr·harmonyos·鸿蒙
yumgpkpm10 小时前
【华为昇腾910B】在AI大模型推理速度与GPU显卡选择中地位
大数据·人工智能·华为
枫叶丹410 小时前
【HarmonyOS 6.0】Device Security Kit 病毒防护服务管理能力解析
华为·harmonyos
木斯佳13 小时前
HarmonyOS 6 ArkGraphics 3D精讲:从旋转立方体看鸿蒙原生3D能力
3d·华为·harmonyos
nashane1 天前
HarmonyOS 6学习:PC端悬浮窗模式与智能长截图的协同优化实战
学习·华为·harmonyos