我正在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接收数据时,将数据上的属性替换为内部或外部,然后您的原始搜索将起作用。