我试图在这个 plunker 中进行 angularjs 全文搜索
http://plnkr.co/edit/PwcteF6WAtuAOj3ZDKLe?p=preview
我尝试了很多组合,但没有一个有效..
例如,我想搜索“alex big-mary”或“alex 800”或“mary big”之类的跨列,但不起作用 alex 555 有效,因为 555 存在于 alex 单词之后
我试图在这个 plunker 中进行 angularjs 全文搜索
http://plnkr.co/edit/PwcteF6WAtuAOj3ZDKLe?p=preview
我尝试了很多组合,但没有一个有效..
例如,我想搜索“alex big-mary”或“alex 800”或“mary big”之类的跨列,但不起作用 alex 555 有效,因为 555 存在于 alex 单词之后
我不知道任何可以执行类似 OR 的搜索的内置过滤器。您可以定义适合您需求的自己的过滤器:
angular.module('App', []).filter('search', function($filter){
return function(items, text){
if (!text || text.length === 0)
return items;
// split search text on space
var searchTerms = text.split(' ');
// search for single terms.
// this reduces the item list step by step
searchTerms.forEach(function(term) {
if (term && term.length)
items = $filter('filter')(items, term);
});
return items
};
});
See this code in action using this Plunkr: simple OR search filter
您将需要创建一个自定义过滤器,该过滤器将获取您的数据并按行对其进行标记,并且仅显示与您输入的字符串匹配的那些行。
以下是创建自定义过滤器的文档:
http://docs.angularjs.org/guide/dev_guide.templates.filters.creating_filters