我查看了文档,并没有看到在ng-grid 3中完成此操作的简单方法。在ng-grid 2中,您可以将文本字段绑定到
$scope.filterOptions = {
filterText: ''
};
然后在gridOptions ...
$scope.gridOptions = {
data: 'someData',
filterOptions: $scope.filterOptions
};
我可以自己进行过滤,但我希望有一种更简单的方法可以解决这个问题。
答案 0 :(得分: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中的旧功能。