gpt4 book ai didi

javascript - AngularJS 排除过滤器?

转载 作者:行者123 更新时间:2023-12-03 09:36:17 25 4
gpt4 key购买 nike

我有一个使用 Angular 搜索框:

<input type="text"
typeahead="item.name for item in list |
filter: $viewValue:comparator | orderBy: '+name'"/>

我想添加另一个过滤器以从另一个数组中排除某些项目。像这样的东西:

... | exclude: items in excludedList

我不想使用ng-hide;我正在专门寻找一个过滤器来执行此操作。

最佳答案

这看起来像是自定义过滤器的工作:

.filter('excludeItemsByName', function () {
return function (items, excludedList) {
var ret = [];
angular.forEach(items, function (item) {
if (excludedList.indexOf(item.name) === -1) {
ret.push(item);
}
});
// or you could use Array.prototype.filter() in browsers that support it
return ret;
};
})

然后

<input type="text"
typeahead="item.name for item in list |
filter: $viewValue:comparator | excludeItemsByName:['excludeThis','excludeThat'] orderBy: '+name'"/>

(这假设 exceptedList 将是一个简单的字符串列表;应该很清楚如何扩展它以支持排除的对象......)

https://docs.angularjs.org/guide/filter#creating-custom-filters

关于javascript - AngularJS 排除过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com