过滤AngularJs中的数据

时间:2016-05-11 12:21:34

标签: javascript angularjs

我正在AngularJs中创建一个项目。我在过滤数据时遇到问题。数据来自API,形式为0和1.我以条件形式显示数据,如:

ng-if = 0;内部
ng-if = 1;外部

我的问题是,当我在搜索框中输入0和1时,数据会被过滤,但我希望在搜索框中输入内部和外部时过滤数据。

这是我的代码:

<input type="search" ng-model="customersFlowsList.linkStatus" class="flow_filter_searchbox">
    <li ng-repeat="customersFlowsList in customersFlows | filter:{linkStatus:customersFlowsList.linkStatus} | unique:'linkStatus'">

     <div class="check_box">
        <input type="checkbox" id="checkbox1" name="checkbox2"  ng-model="filterLink[customersFlowsList.linkStatus]">
        <label for="checkbox1"><span for="checkbox1">{{customersFlowsList.linkStatus | contractStatusName}}</span></label>
     </div>
    </li>

1 个答案:

答案 0 :(得分:0)

您可以编写一个简单的自定义过滤器功能来执行此操作。一些示例代码可能如下所示:

  $scope.filterFn = function(item){
    if($scope.search.Mode == "external"){
       return item.Mode == 1 
  }
    else if ($scope.search.Mode == "internal"){
       return item.Mode == 0;
  }
  else return false;

};

然后使用新的过滤功能

替换ng-repeat中的过滤器
ng-repeat="item in items | filter: filterFn"

此外,另一个选项可能是当您从0和1收到数据到内部或外部时替换数据上的属性,然后您的原始搜索将起作用。