过滤AngularJs中的数据

Filtering the Data in AngularJs

本文关键字:数据 AngularJs 过滤      更新时间:2023-09-26

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

ng,如果=0;内部
ng,如果=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>

您可以编写一个简单的自定义过滤器函数来实现这一点。一些示例代码可能如下所示:

  $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重复中的过滤器

ng-repeat="item in items | filter: filterFn"

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