我正在使用angular-xeditable来编辑表单中的元素。我希望所有的元素在任何时候都处于“可编辑”模式,例如,在用户开始编辑之前不需要按“编辑”按钮。
我一直在尝试在我的控制器中使用$show()来启用表单中的元素,但是这些元素似乎再次进入查看状态,例如当尝试保存值时使用“onaftersave save”时。
如何才能始终处于编辑模式,在这种模式下,用户无需启用编辑即可开始编辑值?
发布于 2014-10-16 23:22:53
可以尝试在您的html中添加shown=true:
<form editable-form shown="true">发布于 2014-10-11 00:31:20
我也有同样的问题。即使在我的onaftersave函数末尾再次尝试$show()这个表单,它仍然不能工作。我怀疑在onaftersave函数运行后,可见性被隐藏了,但我实际上并没有检查是不是这样。下面是我如何解决这个问题的:
$scope.$watch('yourFormName.$visible', function() {
$scope.yourFormName.$show();
});现在,每当窗体可见性更改为隐藏时,无论何时更改,它都会再次显示它。
发布于 2014-10-15 05:30:11
如果您的表单已经打开,而您只想在提交后保持打开状态,则可以执行以下操作:
<form editable-form name="MyForm" onbeforesave="saveMyData()" onaftersave="keepFormOpen()">函数keepFormOpen()看起来像这样:
$scope.keepFormOpen = function() {
return "fake error message";
}这实际上是在您已经保存数据之后给表单一个假的错误消息。此假错误消息将中断表单关闭过程,但由于它是在您保存数据后调用的,因此不会影响上一次提交。
https://stackoverflow.com/questions/25988154
复制相似问题