好的,看起来很简单,但不是。
我想执行一个简单的角度过滤器,但我需要指定我的数组中哪些字段用于过滤器。
基本过滤器是:
<li ng-repeat="person in app.people | filter: app.search">
单场滤波器是:
<li ng-repeat="person in app.people | filter: {Surname: app.search}">
如何为过滤器指定多个字段? 类似的东西:
<li ng-repeat="person in app.people | filter: {Name,Surname: app.search}">
这是一个带有基本过滤器和单场过滤器的Plunker:https://jsfiddle.net/odLz1v71/3/
答案 0 :(得分:2)
在这种情况下,我建议您在控制器中添加一个过滤功能,如下所示:
vm.searchFilter = function(item){
// Add your own search logic here
return item.Name.includes(vm.search) || item.Surname.includes(vm.search);
}
然后像这样使用它:
<li ng-repeat="person in app.people | filter: app.searchFilter">
答案 1 :(得分:0)
我认为您不能直接使用基本过滤器执行此操作,但您可以为filter
过滤器提供一个函数来执行此检查:
vm.checkName = function (value) {
return value.Name.indexOf(vm.search) > -1 || value.Surname.indexOf(vm.search) > -1;
};