【问题标题】:how to make angular-xeditable edit state always enabled如何始终启用 angular-xeditable 编辑状态
【发布时间】:2014-11-17 05:59:53
【问题描述】:

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

我一直在尝试使用控制器中的 $show() 来启用表单中的元素,但是似乎元素再次进入查看状态,例如在尝试保存值等时使用“onaftersave”时.

如何才能始终处于用户无需启用编辑即可开始编辑值的编辑模式?

【问题讨论】:

    标签: angularjs angularjs-directive x-editable


    【解决方案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()">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-26
        • 2015-08-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多