我想通過Angular中的多個屬性進行篩選。我可以通過使用角度filter:{ title: searchString }
輕鬆地過濾一個屬性,但通過多個屬性過濾...我創建了我自己的自定義過濾器,它嘗試通過數組中的任何屬性匹配搜索字符串。使用自定義篩選器篩選2個屬性angularjs
我需要做的是:
如果John Wayne
通過傳遞..它顯示John Wayne
但如果只John
或僅Wayne
通過......通過它仍顯示約翰·韋恩。同樣,對於因爲John
n w
與n
和subTitle
開始於w
PS結束:我只可以有一個NG-模式
HTML:
<input type="text" ng-model="searchString">
<div ng-repeat="tel in arr1 | customFilter: searchString:['title','subTitle']"></div>
JS:
$scope.arr1 = [
{title: 'John', subTitle:'Wayne'}
{title: 'Barry'}
];
.filter('customFilter',[ function() {
return function(items, searchText, attrs) {
var filtered = [];
var filteredItems = items.map(function(item) {
angular.forEach(attrs, function(attr) {
if (item.hasOwnProperty(attr)) {
filtered.push(item);
}
});
});
return filtered;
};
}])
我的問題是我得到一個錯誤或說:
不允許在中繼器中複製。使用'track by'表達式來指定 指定的唯一鍵。直放站:tel in arr1
您的過濾器的名稱的錯誤:在你的過濾器名和custommFilter customFilter在HTML –
@ManuelObregozo哎呦..這是一個錯字。意外插入在帖子中,但那不是問題 – user4756836
我仍然得到它的過濾器的想法,什麼是你的數組的輸出? –