请参考如下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) } }) } } }
请参考如下demo: