angular筛选指定状态的数据显示

新手上路,请多包涵

图1
如图一,一个表格中有很多很多数据,
其中,状态为以下四种:
1)'issued': '已发布',
2)'deleted': '已删除',
3)'reported': '已举报',
4)'masked': '已屏蔽'

试过<tr ng-repeat="post in filterPostList | filter:'status':'issued'||'masked'">
这样只能显示出issued的数据。
现在想要显示issued和masked的数据,该怎么办?

阅读 5.4k
3 个回答

写个自定义过滤器

app.filter("statusFilter",function(){
    return function(input,uppercase){
        var out = [];
        for(var i=0 ; i<input.length; i++){
            if(input[i].status=='issued'||input[i].status=='masked'){
                out.push(input[i]);
            }
        }
        return out;
    }
});

HTML:

<tr ng-repeat="post in filterPostList | statusFilter>

不用写过滤器

直接写一个函数就可以了


$scope.statusFilter = function(item){
    return item.status == 'issued' || item.status == 'masked';
}

<tr ng-repeat="post in filterPostList | filter: statusFilter">

突然发现我回答了一个历史悠久的问题。。。。

新手上路,请多包涵

图片描述

另一种思路。不用写过滤器,也不用函数。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进