当角材质对话框打开时,如何禁用背景页中的所有控件/点击



我使用的是angular material对话框(v7),我们在对话框中有可编辑的单元格,在下面的页面中我们也有可编辑的单元格,如文本区域/文本输入。

当对话框打开时,如果我按下ctrl+z,那么撤消在对话框和背景页面工作的操作

如何在对话框打开时禁用背景页中的所有控件(如ctrl+z)。

要查看某个问题的实际示例,请查看下一页中的最后一个示例https://material.angular.io/components/dialog/examples

在做了一些研究之后,我发现这是HTML输入的默认行为,

如果您在这里撤消最后一次输入两次,则前一次输入将自动获得焦点。

解决这个问题的一种方法是使所有之前的输入都是readonly

openDialog(): void {
this.readonly = true;
const dialogRef = this.dialog.open(DialogOverviewExampleDialog);
dialogRef.afterClosed().subscribe((result) => {
this.readonly = false;
});
}
<mat-form-field>
<input
matInput
[(ngModel)]="name"
placeholder="What's your name?"
[readonly]="readonly"
/>
</mat-form-field>

Stackblitz示例此处