Угловой метод afterClosed из MatDialog не вызывается - PullRequest
0 голосов
/ 14 мая 2019

У меня есть компонент, в котором я открываю MatDialog при нажатии кнопки.Я хочу сделать операции, когда диалоговое окно закрывается.Вот что я сделал:

const dialogConfig = new MatDialogConfig();
dialogConfig.width = "60%";
dialogConfig.autoFocus=true;
let dialogRef = this.dialog
  .open(MyDialogComponent, dialogConfig)
  .afterClosed()
  .subscribe(e => {
    console.log("Dialog closed");
});

, но на консоли ничего не напечатано.

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Пожалуйста, посмотрите на этот рабочий пример .Из вашего кода я не вижу ошибки.Пожалуйста, рассмотрите переименование dialogRef, поскольку это подписка, а не ссылка на ваш диалог.

0 голосов
/ 14 мая 2019

В MyDialogComponent вставьте MatDialogRef в его конструктор, например,

constructor(private dialogRef: MatDialogRef<MyDialogComponent>){}

и затем расширите его, например. используя событие нажатия кнопки в шаблоне или что-то подобное:

В шаблоне:

<button (click)="onCancelClicked()">Cancel</button>

В компоненте:

onCancelClicked(): void {
    this.dialogRef.close();
}

Не совсем уверен, почему это не работает так, как у вас, но вышеизложенное - способ, которым я всегда делал это. Возможно, вам нужно явно вызвать функцию close ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...