角度ui-grid事件:选择行

Pab*_*blo 16 javascript angularjs angular-ui-grid

我正在尝试根据ui-grid上的行选择来启用/禁用按钮.如果未选择任何行,则禁用该按钮.

我发现这个plunkr使用旧的ng-grid方式在选择一行后触发事件.

  $scope.gridOptions = { 

  data: 'myData', 
  selectedItems: $scope.selections,
  enableRowSelection: true,

  afterSelectionChange:function() {
        if ($scope.selections != "" ) {
            $scope.disabled = false;
        } else {
            $scope.disabled = true;
        }
  }
};
Run Code Online (Sandbox Code Playgroud)

不幸的是它不起作用,我在ui-grid 文档中没有发现这种事件的迹象.

我如何用ui-grid实现这一目标?

Huy*_*ham 42

在ui-grid中,您在事件"rowSelectionChanged"上注册一个回调函数

 $scope.gridOptions.onRegisterApi = function (gridApi) {
                $scope.gridApi = gridApi;
                gridApi.selection.on.rowSelectionChanged($scope, callbackFunction);
                gridApi.selection.on.rowSelectionChangedBatch($scope, callbackFunction);
            }
 }

 function callbackFunction(row) { 
    var msg = 'row selected ' + row.isSelected; $log.log(msg); 
 })
Run Code Online (Sandbox Code Playgroud)

我想你应该看看ui-grid的教程页面:http://ui-grid.info/docs/#/tutorial/210_selection.在我看来,API页面很糟糕:(.

  • `gridApi.selection.on.rowSelectionChanged($scope,function(row){ var msg = 'row selected ' + row.isSelected; $log.log(msg); });` (7认同)