Угловой материал | Проверьте, открыт ли диалог - PullRequest
0 голосов
/ 10 сентября 2018

Я использую диалоговое окно Angular Material , чтобы показать предупреждающее сообщение в моем приложении.

Мне нужно проверить, открыто ли уже диалоговое окно, например:

private _openDialog() {
  // if (this.dialog.isOpen()) return; <-- NOT WORKING
  this.dialog.open(WarningComponent, {
    width: '450px',
    height: '380px',
  });

}

Вопрос: Есть ли способ проверить,окно «Угловой материал» уже открыто?

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Если это в одном компоненте, просто сохраните ссылку.Полезно для манипулирования им.

private _openDialog() {
  if (!this.dialogRef) return;
  this.dialogRef = this.dialog.open(WarningComponent, {
    width: '450px',
    height: '380px',
  });

  this.dialogRef.afterClosed().pipe(
    finalize(() => this.dialogRef = undefined)
  );
}

, если это между компонентами, проверьте список открытых диалогов:

private _openDialog() {
  if (!this.dialog.openDialogs || !this.dialog.openDialogs.length) return;
  this.dialog.open(WarningComponent, {
    width: '450px',
    height: '380px',
  });
}
0 голосов
/ 10 сентября 2018

Можете ли вы сослаться по этой ссылке проверить наличие открытого диалога

private _openDialog() {
  // Only show if not already open
  if ($('.mat-dialog-container').length > 0) return;
  this.dialog.open(WarningComponent, {
     width: '450px',
     height: '380px',
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...