HarmonyOS navigation根页面不走onPageShow方法

1、根页面为@Entry其中包含NavPathStack,TabsController等控件。

2、页面结构为:

Stack() {
  Navigation(this.entryHapRouter) {
    Tabs()
  }
  .mode(NavigationMode.Stack)
  .titleMode(NavigationTitleMode.Full)
  .hideTitleBar(true)
  .navDestination(this.routerMap)
  .height('100%')
  .width('100%')
}

3、调用时机为通过navigationpush到下个页面比如webview,此时期望可以走index页面的onPageHide。

4、调用时机为通过navigation pop到index页面,此时期望可以走index页面的onPageShow。

HarmonyOS
2025-01-09 15:58:55
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

navigation的是一个页面的根容器,navDestination是navigation的一个组件,不是一个page,所以不会走pageShow和pageHide,可以使用navDestination的生命周期onShown和onHidden,onPageShow仅@Entry装饰的自定义组件生效。

文档参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-custom-component-lifecycle-V5

分享
微博
QQ
微信
回复
2025-01-09 18:50:07
相关问题
HarmonyOS navigation触发onpageshow
184浏览 • 1回复 待解决