我在角度应用程序中使用角度材质dialogcomponent,只要服务器出现错误,就会打开一个对话框。
如果多次出现错误,它会打开多个对话框,对我来说很合适。我希望使用closeAll
方法一次性关闭所有对话框。
尝试使用closeAll
方法时出现此错误:
error TS2339: Property 'closeAll' does not exist on type 'MatDialogRef<DialogComponent, any>'.
我如何打开对话框:
constructor(private dialog: MatDialog) {}
const dialogRef = this.dialog.open(DialogComponent, {
width: "500px",
height: "500px",
disableClose: true,
hasBackdrop: true,
data: { name: this.name, animal: this.animal }
});
DialogComponent.ts
onClose(): void {
this.dialogRef.closeAll();
}
@NgModule({
declarations: [
DialogComponent,
...
],
imports: [
MatDialogModule,
BrowserAnimationsModule,
...
],
providers: [
...
],
entryComponents: [ DialogComponent],
bootstrap: [AppComponent]
})
export class AppModule {}
有人可以帮助我吗?
答案 0 :(得分:0)
将MatDialog
注入DialogComponent.ts
constructor(private dialog: MatDialog) { }
onClose(): void {
this.dialog.closeAll();
}
答案 1 :(得分:0)
将MatDialog注入DialogComponent.ts
import { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material';
export class DialogComponent {
constructor(private _dialog: MatDialog) { }
public onClose(): void {
this._dialog.closeAll();
}
}