智能表角度过滤器不更新页面

时间:2016-09-05 14:25:10

标签: javascript angularjs smart-table

我创造了这个掠夺者

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)">

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

你必须直接调用表api .search()函数。默认情况下,smart-table是单向的,不需要ngModel(以避免复杂/复杂的双向状态同步)。如果你想这样做,我建议你把你的行为包装在一个指令中,观察模型的变化并调用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