【发布时间】:2018-01-12 08:46:25
【问题描述】:
我一直在寻找一种解决方案来使用内置过滤器的角度,其数据集与用于 ng-repeat 的数据集不同,但我没有遇到任何问题。
例如,在这段代码 sn-p 中,过滤器只会过滤 filteredPages 内的数据,但问题是 filteredPages 只是分页结果的第一页,我想过滤原始数据filteredPages 创建自。
<tr ng-repeat="rate in filteredPages | filter:search | orderBy:sortType:sortReverse ">
<td data-title="'location'">{{rate.location}}</td>
<td data-title="'code'">{{rate.code}}</td>
<td data-title="'peak_charge'">{{rate.charge_peak}}</td>
<td data-title="'offpeak_charge'">{{rate.charge_offpeak}}</td>
<td data-title="'connnection_charge'"> {{rate.connection_charge}}</td>
</tr>
过滤页面
$scope.$watch('currentPage', function () {
//Define the pagination functionality....
var begin = (($scope.currentPage - 1) * $scope.numPerPage)
var end = begin + $scope.numPerPage;
$scope.filteredPages = $scope.list_data.slice(begin, end);
return $scope.filteredPages;
});
$scope.list_data 是我要过滤的数据。 $scope.filteredPages 是分页结果,所以当使用过滤器时,它只会搜索您当前所在的页面。
ng-模型搜索
<div class="form-group">
<input type="text" ng-disabled="check" ng-model="search" class="form-control" placeholder="Filter By">
</div>
我必须创建自己的过滤器还是有其他方法可以做到? 如果有人对我如何实现这一点有任何想法,将不胜感激。先感谢您。
【问题讨论】:
-
我想过滤创建
filteredPages的原始数据。你能告诉我们吗 -
您有文本框或任何其他过滤器选项吗?过滤器中的搜索是什么?
-
@George 添加到问题中
-
@Shafeeque 搜索是文本框,也已将其添加到问题中
-
@Kyle 谢谢,看起来你最好的选择是使用
$scope.list_data作为转发器并创建一个自定义过滤器,然后像这样设置它们ng-repeat="rate in list_data | filter:search | currentPage: pageStartAndEnd | orderBy:sortType:sortReverse "或者添加一个ng-change到search
标签: javascript angularjs