【问题标题】:ng-blur event does not work on ui-grid cell templateng-blur 事件不适用于 ui-grid 单元格模板
【发布时间】:2016-02-05 16:38:57
【问题描述】:

这里是示例代码。我在 ui-grid 中有一个单元格模板(文本框)。当文本框的值发生变化但此事件未触发时,我想使用 ng-blur 事件。

 {
    name: "Amount", displayName: "Amount", enableFiltering: false,

    cellTemplate: '<input type="text" ng-model="row.entity.Amount" ng-blur="updateEntity(row.entity)"></input>'
 }

有没有人遇到过这种情况或在 ui-grid 的单元格模板中使用过 ng-blur。谢谢。

【问题讨论】:

  • 您使用的是哪个 Angular 版本?
  • Angular 版本 v1.4.8

标签: angularjs angular-ui-grid


【解决方案1】:

你可以使用本机 api:

$scope.gridOptions.onRegisterApi = function(gridApi){
     //set gridApi on scope
     $scope.gridApi = gridApi;
     gridApi.rowEdit.on.saveRow($scope, $scope.saveRow);
};

$scope.saveRow = function( rowEntity ) {
// create a fake promise - normally you'd use the promise returned by $http or $resource
var promise = $q.defer();
$scope.gridApi.rowEdit.setSavePromise( rowEntity, promise.promise );

// or call your logics here with returning promise.reject() - on error or promise.resolve() - on success

// fake a delay of 3 seconds whilst the save occurs, return error if gender is "male"
$interval( function() {
  if (rowEntity.gender === 'male' ){
    promise.reject();
  } else {
    promise.resolve();
  }
}, 3000, 1);

教程链接http://ui-grid.info/docs/#/tutorial/205_row_editable

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-14
    • 2016-09-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多