如何始终启用 angular-xeditable 编辑状态
Posted
技术标签:
【中文标题】如何始终启用 angular-xeditable 编辑状态【英文标题】:how to make angular-xeditable edit state always enabled 【发布时间】:2014-11-17 05:59:53 【问题描述】:我正在使用 angular-xeditable 来编辑表单中的元素。我希望所有元素始终处于“可编辑”模式,例如在用户开始编辑之前不需要按下“编辑”按钮。
我一直在尝试使用控制器中的 $show() 来启用表单中的元素,但是似乎元素再次进入查看状态,例如在尝试保存值等时使用“onaftersave”时.
如何才能始终处于用户无需启用编辑即可开始编辑值的编辑模式?
【问题讨论】:
【参考方案1】:可能尝试在您的 html 中添加 shown=true
:
<form editable-form shown="true">
【讨论】:
【参考方案2】:我遇到了同样的问题。即使在我的 onaftersave 函数结束时再次尝试 $show() 表单,它仍然无法正常工作。我怀疑在 onaftersave 函数运行后可见性被隐藏了,但我实际上并没有检查是否是这种情况。这是我解决它的方法:
$scope.$watch('yourFormName.$visible', function()
$scope.yourFormName.$show();
);
现在,每当表单可见性更改为隐藏时,无论何时更改,它都会再次显示。
【讨论】:
嘿tcox,我面临同样的问题,我总是希望表格保持可编辑模式。我试过你的方法,但是当我打电话给 $scope.form.profileform.$visible=true;或 $scope.form.profileform.$show();它说未定义。我的表单名称是 name="form.profileform"。你能帮忙吗 我不确定你是否必须说$scope.form.profileform,试试$scope.profileform【参考方案3】:如果您的表单已经打开,而您只想在提交后保持打开状态,您可以这样做:
<form editable-form name="MyForm" onbeforesave="saveMyData()" onaftersave="keepFormOpen()">
函数 keepFormOpen() 看起来像这样:
$scope.keepFormOpen = function()
return "fake error message";
这实际上是在您保存数据后向表单提供虚假错误消息。这个虚假的错误消息会中断表单关闭过程,但由于它是在您保存数据后调用的,因此不会影响之前的提交。
【讨论】:
很高兴能帮上忙!如果它对您有用,请不要忘记接受它作为答案;)【参考方案4】:要真正保持表单打开,我们可以执行以下操作:
<form editable-form name="MyForm" onbeforesave="saveMyData()" onhide="MyForm.$show()">
【讨论】:
以上是关于如何始终启用 angular-xeditable 编辑状态的主要内容,如果未能解决你的问题,请参考以下文章
如何使用超过 $data 作为参数的 Angular-Xeditable 的 onBeforeSave / onAfterSave 方法