在使用dialog.close()函数后,可能需要等待一段时间来确保对话框已经完全关闭。可以使用Promise来解决此问题。
代码示例:
import { Component } from '@angular/core';
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
@Component({
selector: 'app-dialog-example',
template: `
`
})
export class DialogExampleComponent {
dialogRef: MatDialogRef;
constructor(public dialog: MatDialog) { }
openDialog(): void {
this.dialogRef = this.dialog.open(DialogExampleDialogComponent);
this.dialogRef.afterClosed().subscribe(result => {
console.log('Dialog closed with result:', result);
});
}
}
@Component({
selector: 'app-dialog-example-dialog',
template: `
Dialog title
Dialog content goes here.
`
})
export class DialogExampleDialogComponent {
constructor(public dialogRef: MatDialogRef) { }
onDialogClose(): void {
this.dialogRef.close().then(() => {
console.log('Dialog closed.');
});
}
}