如何在NavPushPathHelper组件中传递参数?

阅读 595
1 个回答

可以通过以下方式在 NavPushPathHelper 组件中传递参数。例如可以像这样定义参数并传递:

@Consume('navPageStack') pageStack: NavPathStack
let param:WebPageConfig = {
  url : "hhhhh",
  title : 'dddd'
}
this.pageStack.pushPathByName('WebPage',param)

在目标页面获取参数可以在aboutToAppear生命周期函数中进行判断和获取,如下:

@Component
export struct WebPage {
  private navigationId = "WebPage"
  @State message: string = 'Hello WEB';
  @Consume('navPageStack') pageStack: NavPathStack
  @Prop config:WebPageConfig
  async load(url:string){
    // let group:JSGroupBase = new JSGroupBase()
  }

  aboutToAppear(): void {
    if(this.config!= null){
      console.dir(this.config)
    }
    //let params = this.pageStack.getParamByName("WebPage")
  }

  build() {
    NavDestination() {
      Column(){
        Column() {
          WebComponent()
        }
      }
    }
   .hideTitleBar(true)
   .id(this.navigationId)
  }
}

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进