HarmonyOS Navigation路由问题?

在Index页面跳转PageOne页面的同时隐藏了导航页(hideNavBar),但是在PageOne页面返回上一页时,为什么会出现白屏的情况?

// Index.ets
@Entry
@Component
struct Index {
  @State hideNavBar: boolean = false
  private pageStack: NavPathStack = new NavPathStack()

  build() {
    Navigation(this.pageStack) {
      Column() {
        Button('跳转PageOne,隐藏NavBar')
          .onClick(() => {
            this.hideNavBar = true
            this.pageStack.replacePath({
              name: 'PageOne'
            })
          })
      }
      .height('100%')
      .justifyContent(FlexAlign.Center)
    }
    .hideNavBar(this.hideNavBar)
    .hideTitleBar(true)
    .hideBackButton(true)
  }
}


// PageOne.ets
@Builder
function PageOneBuilder() {
  PageOne()
}

@Component
export struct PageOne {
  pageStack: NavPathStack | null = null
  build() {
    NavDestination() {
      Column() {
        Button('返回上一页')
          .onClick(() => {
            // 这里返回上一页
            this.pageStack?.pop?.()
          })
      }.height('100%')
    }
    .hideTitleBar(true)
    .onReady((ctx: NavDestinationContext) => {
      this.pageStack = ctx.pathStack
    })
  }
}
阅读 609
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进