【发布时间】:2018-06-30 20:13:42
【问题描述】:
在candeactive中实现angular 4材质对话框时遇到的问题
每当我从一个页面导航到另一个页面时,如果表单字段有任何变化, 我需要指出“有未保存的数据。您要关闭吗”。 这应该会出现带有确定和取消按钮的确认窗口。
单击确定后,它应该导航到其他页面,否则它必须在同一页面中。 我已经尝试过使用candeactive,当我使用window.confirm时它可以完美地工作
return window.confirm('There is unsaved data.Do you want to close?').
但我的要求是使用 Angular 材质对话框实现确认窗口。 https://material.angular.io/components/dialog/overview
问题出在从 afterClosd 检索结果之前。它返回 false。因此,每当我在对话框中单击“确定”或“取消”时,它都不会移动到另一个屏幕。
openDialog(): boolean {
let dialogRef = this.dialog.open(DialogOverviewExampleDialog, {
width: '500px'
});
dialogRef.afterClosed().subscribe(result => {
if (result){
return true;
}else{
return false;
}
});
return false;
}
【问题讨论】:
标签: angular angular-material2 angular4-forms dirty-checking