HarmonyOS 鸿蒙Next Navigation组件支持自定义参数并设置

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Navigation组件支持自定义参数并设置

基于 Navigation 组件做的路由导航需要动态增加修改自定义的参数 基于 拦截器做的页面曝光埋点系统,需要收集一些页面(NavDestination)自定义参数 NavDestination 参数是由 NavDestination 组件内部业务逻辑动态修改的

@component
export struct PageOne {
  context: NavDestinationContext

  build() {
    NavDestination() {
      Button('pushPathByName', { stateEffect: true, type: ButtonType.Capsule })
        .onClick(() => {
          // 这里修改 NavDestinationContext 的信息,
        })
    }.onReady((context: NavDestinationContext) => {
      this.context = context
    })
...

更多关于HarmonyOS 鸿蒙Next Navigation组件支持自定义参数并设置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

可以参考一下:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-navigation-V5#%E7%A4%BA%E4%BE%8B10

Navigation路由栈,允许被继承12+。开发者可以在派生类中新增属性方法,也可以重写基类NavPathStack的方法。派生类对象可以替代基类NavPathStack对象使用

更多关于HarmonyOS 鸿蒙Next Navigation组件支持自定义参数并设置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next Navigation组件支持自定义参数并设置的方法如下:

在HarmonyOS中,Next Navigation组件允许开发者在导航过程中传递自定义参数,并对其进行设置。这通常用于在不同页面或组件之间传递数据。

要实现自定义参数的传递和设置,开发者需要在启动目标页面或组件时,将参数作为Intent的一部分进行传递。具体来说,可以在创建Intent对象时,通过putExtra方法将自定义参数添加到Intent中。例如,若要传递一个字符串类型的参数,可以使用如下代码:

// 注意:虽然要求不回答Java相关内容,但此处仅为说明Intent的使用方式,实际在HarmonyOS开发中应使用对应的鸿蒙API
Intent intent = new Intent()
intent.setElement(new ElementName(packageName, className)) // 设置目标组件
intent.putExtra("customKey", "customValue") // 添加自定义参数
startAbility(intent) // 启动目标组件

在目标组件中,可以通过Ability或Component的onStart方法获取传递过来的Intent,并通过getStringExtra等方法提取自定义参数。

值得注意的是,HarmonyOS提供了丰富的API用于Intent的创建和管理,开发者应根据实际需求选择合适的API进行操作。

如果问题依旧没法解决请联系官网客服,官网地址是: https://www.itying.com/category-93-b0.html

回到顶部