typescript 检查mat-dialog是否已打开

uubf1zoe  于 2022-11-18  发布在  TypeScript
关注(0)|答案(1)|浏览(118)

目的:在页面载入时开启对话方块。请检查以确定它尚未开启,因此只会开启一次。对话方块是独立的元件。
问题:它开口两次。

我试着检查,但条件永远不会变成真的。我使用的信息来自SO文章,如Angular Material | Check if dialog is open,但他们提到MatDialogRef?

TS

cmdOpenDialog_OnInit() {
    if (!this.dialog) {
                return;
            }
    this.dialog.open(DialogInternalNotesThreeComponent, {
        data: {
            data: this.internalNotes
        }
    }); 
}
y1aodyip

y1aodyip1#

您可以在元件上储存对话方块的指涉:

cmdOpenDialog_OnInit() {
  if(this.dialogRef) {
    return;
  }
  this.dialogRef = this.dialog.open(DialogInternalNotesThreeComponent, {...});
  this.dialogRef.afterClosed().subscribe(() => {
    this.dialogRef = null;
  })
}

相关问题