HarmonyOS 怎么控制push到下个页面不关闭customDialog?

如题:HarmonyOS 怎么控制push到下个页面不关闭customDialog?

阅读 499
1 个回答

请参考如下demo:

import router from '@ohos.router';
// 记录当前页面所有弹窗
const dialogs: Map<string, CustomDialogController> = new Map();

@CustomDialog
struct CustomDialogExample {
  controllerTwo?: CustomDialogController
  build() {
    Column() {
      Button('点击进行路由跳转')
        .onClick(() => {
          // 关闭当前页面所有弹窗
          // dialogs.forEach((controller, name) => {
          //   controller.close();
          // })
          // 路由跳转
          router.pushUrl({url: 'pages/Index'})
        })
    }
  }
}

@Entry
@Component
struct CustomDialogUser {
  dialogController: CustomDialogController | null = new CustomDialogController({
    builder: CustomDialogExample(),
  })
  build() {
    Column() {
      Button('点击打开弹窗')
        .onClick(() => {
          if (this.dialogController != null) {
            // 打开弹窗
            this.dialogController.open()
            // 记录当前弹窗
            dialogs.set('first', this.dialogController)
          }
        })
    }
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进