我目前正在使用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(); }' –