感谢另一位撰稿人的帮助,我有一个动态的Angular表来排序/过滤。我可以在今晚添加分页,按照我在另一篇文章中找到的示例,但表格过滤器仅适用于第一页。
我认为这与下面的表格代码有关,但是我们无法将其缩小范围。
<tr class="paginationclass" ng-repeat="row in rows |
orderBy:sort.type:sort.reverse |
filter:searchData |
pagination: curPage * pageSize |
limitTo: pageSize">
<td ng-repeat="column in cols">{{row[column]}}</td>
</tr>
我很欣赏任何关于我出错的指导。谢谢!
答案 0 :(得分:1)
这是因为过滤器正在应用于整个集合,所以如果你过滤它,你不能再有超过1页,这就是为什么第二页是空的,试着回到第一页,你会看到你要搜索的元素。
我在过滤器输入中添加了ng-change
指令,因此当项目数少于pageSize时,它会修改实际页面。
我把你的小提琴分开了,在这里:
https://jsfiddle.net/ignaciovillaverde/2rxg2e0y/3/
顺便说一句,你的ng-disabled状态是&#34; Next&#34;按钮运行不正常,我修改了它,看看并试一试。
答案 1 :(得分:0)
甚至更简单,只需添加:
$scope.$watch('searchData', function() {
$scope.curPage = 0;
});
因此,只要对'searchData'进行任何更改,我们就会转到第一页。