我目前正在使用Angular 4项目的密码重置页面。我们使用Angular Material创建对话框,但是当客户端点击对话框时,它会自动关闭。有没有办法避免对话框关闭,直到我们的代码端调用“关闭”功能?或者我应该如何创建一个不可关闭的模式?禁用角度材质对话框区域外的点击以关闭对话框(使用Angular Version 4.0+)
感谢
我目前正在使用Angular 4项目的密码重置页面。我们使用Angular Material创建对话框,但是当客户端点击对话框时,它会自动关闭。有没有办法避免对话框关闭,直到我们的代码端调用“关闭”功能?或者我应该如何创建一个不可关闭的模式?禁用角度材质对话框区域外的点击以关闭对话框(使用Angular Version 4.0+)
感谢
有两种方法可以做到这一点。
在打开对话的功能,通过在下面的配置选项disableClose
如MatDialog.open()
第二个参数,并将其设置为true
:
export class AppComponent {
constructor(private dialog: MatDialog){}
openDialog() {
this.dialog.open(DialogComponent, {disableClose: true});
}
}
可替换地,这样做在对话框部件本身。
export class DialogComponent {
constructor(private dialogRef: MatDialogRef<DialogComponent>){
dialogRef.disableClose = true;
}
}
这里就是你要找的内容:
我觉得这恼人的是,你必须同时禁用“因逃逸点击之外”。为了解决这个问题:'@HostListener('window:keyup.esc') onKeyUp(){ this.dialogRef.close(); }' –