智能 Table angular 过滤器不更新页面
Smart Table angular filter not updating the page
我创建了这个 plunker
https://plnkr.co/edit/zrSgAG3NctuveLTNgnZS?p=preview
如您所见,有一个全局搜索,您可以按类别搜索或单击 eyeColor 或性别等类别以按该类别进行过滤。过滤器效果很好。但是页脚上的页面不能正确反映数据大小。尽管过滤器没有缩小数据集,但页数没有改变。
我没有使用 st-filter,因为我需要支持点击和过滤,例如眼睛颜色和性别,您可以在其中点击要过滤的类别。
I am using searcQuery filter this way instead
<input type="search" ng-model="vm.searchQuery" placeholder="Global search" class="input-sm form-control" />
.
.
.
ng-repeat-start="artists in (displayedCollection | filter: vm.searchQuery)">
知道我做错了什么吗?
您必须直接调用 table api .search() 函数。默认情况下 smart-table 是单向的,不需要 ngModel(避免 sophisticated/complex 双向状态同步)。如果你想这样做,我建议你将你的行为包装在一个指令中,观察模型变化并调用 table api
app.directive('filter',function(){
return {
require:'stTable',
scope:{
filter:'='
},
link:function(scope,el,att,table){
scope.$watch('filter',function(val){
table.search(val);
});
}
}
})
我创建了这个 plunker
https://plnkr.co/edit/zrSgAG3NctuveLTNgnZS?p=preview
如您所见,有一个全局搜索,您可以按类别搜索或单击 eyeColor 或性别等类别以按该类别进行过滤。过滤器效果很好。但是页脚上的页面不能正确反映数据大小。尽管过滤器没有缩小数据集,但页数没有改变。 我没有使用 st-filter,因为我需要支持点击和过滤,例如眼睛颜色和性别,您可以在其中点击要过滤的类别。
I am using searcQuery filter this way instead
<input type="search" ng-model="vm.searchQuery" placeholder="Global search" class="input-sm form-control" />
.
.
.
ng-repeat-start="artists in (displayedCollection | filter: vm.searchQuery)">
知道我做错了什么吗?
您必须直接调用 table api .search() 函数。默认情况下 smart-table 是单向的,不需要 ngModel(避免 sophisticated/complex 双向状态同步)。如果你想这样做,我建议你将你的行为包装在一个指令中,观察模型变化并调用 table api
app.directive('filter',function(){
return {
require:'stTable',
scope:{
filter:'='
},
link:function(scope,el,att,table){
scope.$watch('filter',function(val){
table.search(val);
});
}
}
})