重新打开已销毁的动态对话框
我在应用中使用了多个PrimeNg Dynamic Dialog,想在进程结束时一次性关闭它们全部。
比方说,我先打开第一个,然后是第二个,接着是第三个。
我是这样打开第一个的:
protected addModal() {
this.dialogService.open(ModalComponent, {
width: "60%",
closable: true,
modal: true,
dismissableMask: true,
});
}
后来,第三个模态中的一个方法使用这里所述的技巧来销毁已打开的模态: https://stackoverflow.com/a/71586058/6188947
this.dialogService.dialogComponentRefMap.forEach(dialog => {
dialog.destroy();
});
可以生效。不过当我再次调用我的 addModal() 方法时,什么也没发生。
解决方案
尝试在 instance 属性内访问 close() 方法。destroy 似乎阻止对话框再次打开。
close() {
this.dialogService.dialogComponentRefMap.forEach((x) => x.instance.close());
}
Stackblitz演示
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。