2014-09-23 55 views
10

我正在使用angular-xeditable编辑表单中的元素。我希望所有元素始终处于“可编辑”模式,例如在用户开始编辑之前,不需要按下“编辑”按钮。如何使angular-xeditable编辑状态始终启用

我一直试图在我的控制器中使用$ show()来启用窗体中的元素,但是它好像元素再次进入查看状态,例如在尝试保存值时使用“onaftersave”等等

为了始终处于编辑模式,用户从不需要启用编辑以便开始编辑值,我该怎么办?

回答

5

我有这个相同的问题。即使在我的onaftersave函数结束时再次尝试$显示()表单时,它仍然不起作用。我怀疑在onaftersave函数运行后隐藏可见性,但我没有真正检查是否是这种情况。下面是我周围如何到达:

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

现在,只要形式能见度变化为隐藏,它只是再次显示它无论何时它改变的。

+0

哎tcox,我面临同样的问题,我总是想表保持可编辑模式。我试过你的方式,但是当我调用$ scope.form.profileform。$ visible = true;或$ scope.form.profileform。$ show();它说未定义。我的表单名称是name =“form.profileform”。你可以请帮忙 – Jayesh 2014-12-23 12:09:38

+0

我不知道你是否要说$ scope.form.profileform,只需$ scope.profileform – tcox 2015-01-27 18:54:31

1

如果你的表格是已经打开,而你只是想保持其提交后打开,你可以这样做:

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

和功能keepFormOpen()将是这个样子:

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

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

+0

谢谢。我很高兴..它的工作..你做了我的一天。 – Jayesh 2014-12-23 12:13:35

+0

很高兴能帮到你!如果它对你有用,不要忘记接受它;) – bajuwa 2014-12-23 16:02:45

7

可能尝试在你的HTML添加shown=true

<form editable-form shown="true"> 
+0

它不起作用。 – Jayesh 2014-12-23 12:43:17

+0

这是为我工作。谢谢很多:) – Sampath 2015-07-09 12:50:39

0

要真正保持开放的形式,我们可以做到以下几点:

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