如何使角度可编辑的编辑状态始终启用

时间:2014-09-23 06:18:59

标签: angularjs angularjs-directive x-editable

我使用angular-xeditable来编辑表单中的元素。我想把所有元素都放在" editable"模式在任何时候,例如不#"编辑"在用户开始编辑之前需要按下按钮。

我一直试图在我的控制器中使用$ show()来启用表单中的元素,但是看起来元素再次进入查看状态,例如当使用" onaftersave"当试图保存值等时。

如何始终处于编辑模式,用户永远不需要启用编辑才能开始编辑值?

4 个答案:

答案 0 :(得分:7)

可能尝试在html中添加shown=true

<form editable-form shown="true">

答案 1 :(得分:5)

我有同样的问题。即使在我的onaftersave函数结束时再次尝试$ show()表单时,它仍然无效。我怀疑在onaftersave函数运行后隐藏了可见性,但我实际上没有检查是否是这种情况。以下是我如何解决这个问题:

$scope.$watch('yourFormName.$visible', function() {
    $scope.yourFormName.$show();
});

现在,只要表单可见性更改为隐藏,它就会再次显示它,无论它何时更改。

答案 2 :(得分:1)

如果您的表单已经打开,并且您只想在提交后将其保持打开状态,则可以执行以下操作:

<form editable-form name="MyForm" onbeforesave="saveMyData()" onaftersave="keepFormOpen()">

并且函数keepFormOpen()看​​起来像这样:

$scope.keepFormOpen = function() {
    return "fake error message";
}

这样做本质上是在您保存数据后给表单提供了错误的错误消息。这个假的错误消息将中断表单关闭过程,但由于它是在您保存数据后调用的,因此不会影响之前的提交。

答案 3 :(得分:0)

要真正保持打开表单,我们可以执行以下操作:

<form editable-form name="MyForm" onbeforesave="saveMyData()" onhide="MyForm.$show()">