ng对话框在对话框打开时更改选项



是否可以更改打开对话框的选项?

具体来说,我想将showClosecloseByEscapecloseByDocument设置为false

原因是我在对话框中有一个表单。单击"保存"后,我向服务器发出请求。同时,我禁用了按钮,并且还想确保在有响应之前无法关闭对话框。但我希望用户能够在单击"保存"之前轻松关闭对话框。

我不确定您是否可以通过简单地更改这些属性的值来明确执行此操作,因为它们似乎不是双向绑定的。但是,您可以设置一个preCloseCallback属性来防止基于某些局部变量关闭。所以我要做的是在请求之前,设置一些变量来指示请求正在进行中。请求完成后,重置该变量。然后,在preCloseCallback中,检查是否设置了该变量。下面是一个简单的示例:

$scope.toggleCloseable = function() {
$scope.closeable = !$scope.closeable;
}
$scope.openDialog = function() {
ngDialog.open({ 
template: 'firstDialogId', 
className: 'ngdialog-theme-default', 
showClose: true,
scope: $scope,
preCloseCallback: function() {
return $scope.closeable;
}
});
}

这是一个简单的 plunker,其中该变量是通过在模态中按下按钮来设置的,但这可以在发出请求之前和之后轻松设置。您将看到,当closeable标志为假时,任何关闭操作都不起作用,但当它为 true 时,它会照常工作。

https://plnkr.co/edit/d4m0tryFdm8vWWgh7a4j

最新更新