当用户添加新行并单击取消按钮(不放任何数据)时,这是否可行,该行将被删除。 否则我怎么能改变取消按钮代码,因为这个代码使用angularJS的默认xeditable代码。(或者如果行为空,我怎么能调用delete函数?)
这是EXAMPLE。
取消按钮的HTML :
<button type="button" ng-disabled="rowform.$waiting" ng-click="rowform.$cancel()" class="btn btn-default"> cancel </button>
答案 0 :(得分:13)
您可以调用自己的功能。要实现这一点,你应该改变你的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();
}
现在你可以做自己的事情,如果你已经完成,可以打电话给$取消。
答案 1 :(得分:3)
或者,如果您查看xeditable.js,您会看到 $ cancel()在内部调用 $ 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>