[英]Custom search filter for AngularJs
假设我有一个字符串数组,例如[“不用担心”,“担心”,“总是快乐并且不用担心”]
当我使用ng-repeat上的默认搜索过滤器搜索忧虑时,它给我所有三个结果,而与要搜索的字符串中忧虑的位置无关。
我正在尝试为ng-repeat创建一个自定义搜索过滤器,以便在担心搜索时,我应该根据原始字符串中“担心”的位置对结果进行排序。
因此,在上述数组中搜索单词“ worry”后,我的预期输出将为[“ worry”,“ do n't担心”,“永远快乐,不要担心”]。
这可能吗?
你可以试试这个吗?
app.filter('wordsFilter', function() {
return function(items, word) {
var filtered = [];
angular.forEach(items, function(item) {
if(item.indexOf(word) !== -1){
filtered.push(item);
}
});
filtered.sort(function(a,b){
if(a.indexOf(word) < b.indexOf(word)) return -1;
else if(a.indexOf(word) > b.indexOf(word)) return 1;
else return 0;
});
return filtered;
};
});
希望对您有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.