问题 自定义X-editable(AngularJS)的取消代码按钮


当用户添加新行并单击取消按钮(不放任何数据)时,这是否可行,该行将被删除。 否则我怎么能改变取消按钮代码,因为这个代码使用angularJS的默认xeditable代码。(或者如果行为空,我怎么能调用delete函数?)

这是

HTML 取消按钮:

      <button type="button" ng-disabled="rowform.$waiting" ng-click="rowform.$cancel()" class="btn btn-default">
        cancel
      </button>

3655
2018-01-24 15:55


起源



答案:


你可以称自己的功能。要实现这一点,你应该像这样改变你的html:

<button type="button" ng-disabled="rowform.$waiting" 

        ng-click="cancelAdvice(rowform, $index)" 

        class="btn btn-default">
        cancel
</button>

如您所见,有一个新函数,其中form和当前索引作为参数。在您的控制器中,您必须定义此功能:

$scope.cancelAdvice = function(rowform, index){
   console.log(rowform, index);
   $scope.removeUser(index);
   rowform.$cancel();
}

现在你可以做你自己的事情,如果你完成了就打电话给$取消。


13
2018-01-24 17:23





或者,如果你看看xeditable.js,你会看到 $取消() 内部呼叫 $ oncancel() 寻找 oncancel 表单上的属性并调用其中提供的函数。因此,您可以拥有以下内容,而不是处理控制器中的表单:

<form editable-form name="rowform" onbeforesave="saveRole($data, $index)" oncancel="removeIfNewRow($index)" ng-show="rowform.$visible" class="form-inline" shown="inserted == role">
                <button type="submit" ng-disabled="rowform.$waiting" class="btn btn-primary">
                    save
                </button>
                <button type="button" ng-disabled="rowform.$waiting" ng-click="rowform.$cancel()" class="btn btn-default">
                    cancel
                </button>
 </form>

3
2017-12-03 16:01