如何正确删除所选项目ui.grid Angular JS

Jos*_*ose 4 javascript angularjs angular-ui-grid

我在理解通过ui-grid提供的属性/功能时遇到了一些困难.我经常对之前版本的ng-grid感到困惑.我试图找到删除检查条目的最​​佳方法.这是我的标记,但由于不太了解我是否有通过行实体可用的索引或计数:

HTML:

       <div class="form-group">
          <button type="button" id="addData" class="btn btn-success" ng-click="addData()">Add Data</button>
          <button type="button" id="removeData" class="btn btn-success" ng-click="removeData()">Remove First Row</button>
          <br>
          <br>
          <div id="grid1" ui-grid="gridOptions" ui-grid-edit ui-grid-selection external-scopes="myViewModel" class="grid"></div>
    </div>
Run Code Online (Sandbox Code Playgroud)

在我的控制器下面:

 $scope.removeData = function () {
        console.log($scope.gridApi.selection.getSelectedRows());

        var items = $scope.gridApi.selection.getSelectedRows();

        angular.forEach($scope.myData, function (data, index) {
            angular.forEach(items, function (item) {
                if (item.displayValue = data.displayValue)
                {
                    $scope.myData.splice(index, 1);
                }

            });
Run Code Online (Sandbox Code Playgroud)

displayValue我的列的属性在哪里,$scope.myData是我的数据.是否有不同的方法将该选择发送到控制器以进行删除?我目前的方式不起作用(显然).任何帮助将不胜感激.如果我的标记不完整,我会根据需要更新它.谢谢!

小智 11

您的解决方案看起来有点复杂.这是我的删除功能:

$scope.deleteSelected = function(){
  angular.forEach($scope.gridApi.selection.getSelectedRows(), function (data, index) {
    $scope.gridOptions.data.splice($scope.gridOptions.data.lastIndexOf(data), 1);
  });
}
Run Code Online (Sandbox Code Playgroud)

这里是一个plunker基础上,210_selection教程.