我有snippet in plunker。 我尝试过滤两个字段的结果(在OR条件下)
typeahead="state as state.name for state in statesWithFlags | filter:{name:$viewValue,country:$viewValue}"
而不是当前
typeahead="state as state.name for state in statesWithFlags | filter:{name:$viewValue}"
条件应用为AND术语,但我需要OR术语
答案 0 :(得分:3)
您可以创建自定义过滤器:
angular.module('plunker')
.filter('custom', function () {
return function(inputArray, args) {
var outputArray = [];
// Filtering logic below:
angular.forEach(inputArray, function (item) {
if (item.name.indexOf(args.viewValue) !== -1 || item.country.indexOf(args.viewValue) !== -1) {
outputArray.push(item);
}
});
return outputArray;
};
});
在这里查看工作人员: http://plnkr.co/edit/4s2ZxOokiXw9uMG5r75
您可以在此处找到用于创建自定义过滤器的文档:https://docs.angularjs.org/guide/filter#creating-custom-filters