диалоговое окно угловой материал - PullRequest
0 голосов
/ 17 октября 2018

Я использую диалоговое окно угловой материал.В настоящее время он открыт.но я не знаю, как это закрыть с помощью кнопки закрытия диалогового окна.Я пытался несколько раз, но не смог этого сделать.пожалуйста, проверьте код ниже (часть кода)

      constructor(private summaryService: SummaryService,public dialog: MatDialog) { }
  openDialog(): void {
    const dialogRef = this.dialog.open(ConfirmationDialog, {
    });


  }

  closeDialog(){
    alert("test");
    this.dialog.close();
  }

openDialog () работает хорошо.У меня есть две проблемы в функции colseDialog ().когда я предупреждаю некоторый текст, появляется ошибка «_co.closeDialog не является функцией».другие ошибки отображения в моей IDE "Свойство close" не существует для типа 'MatDialog' ".Можете ли вы дать решение, чтобы закрыть всплывающее окно

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

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

openDialog(): void {
   const dialogRef = this.dialog.open(ConfirmationDialog);
   dialogRef.afterClosed().subscribe(result => {
      if(result) {
        //Means user clicked on OK button
      }
    });
}
0 голосов
/ 17 октября 2018

Попробуйте сделать глобальную переменную dialogRef в main.component.ts

dialogRef : MatDialogRef<ConfirmationDialog>

constructor(private summaryService: SummaryService,public dialog: MatDialog) { }

openDialog(): void {
   dialogRef = this.dialog.open(ConfirmationDialog, {
   });
}

closeDialog(){
   alert("test");
   this.dialogRef.close();
}

Попробуйте выполнить следующие изменения в вашем подтвержденииDialog.component.ts

constructor(
@Inject(MAT_DIALOG_DATA) public data: any,
public dialogRef: MatDialogRef<ESignatureComponent>,
 ) { }

onCloseClick(){
  this.dialogRef.close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...