ngTable过滤器仅适用于第一页

时间:2015-02-27 14:11:44

标签: javascript angularjs angularjs-ng-repeat angular-ui ngtable

处理包含1000条以上记录的ngTable。 一切正常,但我面临的唯一问题是过滤器。 它只过滤活动页面中的文本。 让我们说我在第3页,如果我使用文本框搜索/过滤某些东西,它必须来自第3页,否则它将不显示任何内容..

我的代码如下:

    $scope.$watch("filter.$", function () {
    $scope.tableParams.reload();});


    $scope.tableParams = new ngTableParams({
        page: 1,            // show first page
        count: 10,          // count per page
        sorting: {
            schoolName: 'asc'     // initial sorting
        }
    },

{
    total: $scope.schoolInfo.length, // length of data
    getData: function ($defer, params) {
        var filteredData = {};


    //reason I am doing this is to get the data always filtered, no matter what
    var orderedData = $filter('orderBy')($scope.schoolName, params.orderBy());

         params.total(orderedData); // set total for recalc pagination

         $defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
    },$scope:$scope
    });

排序工作完美,但只搜索

搜索:<input type="text" ng-model="search.schoolName"> 我也试过ng-model =“search”以及

<tr ng-repeat="mydata in $data | filter:search"> 我也试过搜索:严格

如果有人可以帮助我,似乎没有任何帮助吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

请查看ng-table中的以下示例:Table combining sorting and filtering

尝试重新编写代码以使用此示例中的代码。