📅  最后修改于: 2023-12-03 14:55:28.391000             🧑  作者: Mango
在使用 Material Design 风格的应用程序中,Material Dialog 是非常常见的组件。在某些情况下,你可能希望禁用对话框的关闭,以防止用户在不符合要求的情况下进行操作。
本文将介绍如何使用 TypeScript 来禁用 Material Dialog 的关闭功能。
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
constructor(private dialog: MatDialog) {}
const dialogRef = this.dialog.open(MyDialogComponent, {
disableClose: true
});
通过传递 disableClose 选项,可以禁用修改对话框外的任何操作与无法通过 ESC 键关闭对话框。我们可以将 dialogRef 存储为成员变量以便以后可以关闭对话框。
this.dialogRef.close();
下面是一段示例代码,演示如何禁用关闭对话框:
import { Component, OnInit } from '@angular/core';
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
@Component({
selector: 'app-my-dialog',
template: `
<h1>Hello, World!</h1>
<button mat-button (click)="closeDialog()">Close</button>
`
})
export class MyDialogComponent {
constructor(private dialogRef: MatDialogRef<MyDialogComponent>) {}
closeDialog() {
this.dialogRef.close();
}
}
@Component({
selector: 'app-root',
template: `
<button mat-button (click)="openDialog()">Open Dialog</button>
`
})
export class AppComponent {
dialogRef: MatDialogRef<MyDialogComponent>;
constructor(private dialog: MatDialog) {}
openDialog() {
this.dialogRef = this.dialog.open(MyDialogComponent, {
disableClose: true
});
}
}
以上是禁用 Material Dialog 的关闭的 TypeScript 代码实现。