2

我查看了文档,并没有看到在 ng-grid 3 中完成此任务的简单方法。在 ng-grid 2 中,您可以将文本字段绑定到

$scope.filterOptions = {
   filterText: ''
};

然后在 gridOptions...

$scope.gridOptions = { 
   data: 'someData',
   filterOptions: $scope.filterOptions
};

我可以推出自己的过滤,但我希望有一种更简单的方法可以做到这一点,而我却错过了。

4

1 回答 1

2

好吧,所以我自己滚动。这里是。

$scope.$watch('filter.filterText', function(newVal, oldVal) {
    $scope.filteredData = $scope.data.filter(function(data) {
      if (data.fullName.toLowerCase().indexOf($scope.filter.filterText) > -1 ||
          data.someField.toLowerCase().indexOf($scope.filter.filterText) > -1 ||
          data.someOtherField.toLowerCase().indexOf($scope.filter.filterText) > -1) {
        return true;
      }
      else {
        return false;
      }
    });

}, true);

$scope.filter.filterText 绑定到一个输入框并在控制器中被观察。每当用户修改文本时,filteredData 都会更新。ui-grid 使用filteredData 作为它的数据源。简短而甜蜜,但我确实怀念 2.0 中的旧功能。

于 2014-11-12T18:23:24.807 回答