ui 网格返回行的顺序与它们被选中的顺序相同?

ui grid returning rows in the same order they are selected?

您好,我在 angularjs 项目中使用 UIgrid,当我调用方法 gridApi.selection.getSelectedRows() 来获取选定的行时,它 returns 一个包含所有行但顺序随机的数组.理想情况下,我希望按照它们被选择的相同顺序获取行(就好像 gridApi.selection.getSelectedRows() 由队列支持)。知道如何实现吗?

这个 link to plunker 显示了问题 http://plnkr.co/edit/gD4hiEO2vFGXiTlyQCix?p=preview

我认为我在那里使用的 angular 版本有一个错误,如果您将 plnkr 中的版本升级到 1.6.1,它将按预期运行

你可以自己实现队列。像

 $scope.gridOnRegisterApi = function(gridApi) {
    gridApi.selection.on.rowSelectionChanged($scope, function(row) {
      var selections =gridApi.selection.getSelectedRows();
      // add sorted
      selections.forEach(function(s){
        if ($scope.mySelections.indexOf(s) === -1) {
          $scope.mySelections.push(s);
        }
      });
      // remove the ones that are not selected (use for to modify collection while iterating)
      for (var i = $scope.mySelections.length; i >0; i--) {
        if (selections.indexOf($scope.mySelections[i]) === -1) {
          $scope.mySelections.splice(i, 1);
        }
      }
      console.log($scope.mySelections);
      row.entity.firstSelection = false;
      if (row.isSelected) row.entity.firstSelection = (gridApi.selection.getSelectedCount() == 1);
    });
  };