如何始终启用 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 方法

angular-xeditable

如何在IE中始终启用开发人员工具

如何使 PyCharm 始终显示行号

LocationManager:是不是始终启用“网络”提供程序?

始终启用“使用严格”;默认?