2014-07-04 27 views
0

我有樹形結構,我已經提供了搜索工具。現在我想提供突出顯示的搜索詞facility.To獲得突出顯示詞的功能我已經使用了angular的ui-utils,其中突出顯示過濾器是否有。但突出顯示過濾器只突出顯示單個單詞。Angular UI-Utils +精彩過濾器

就像我的字符串是「我是一個測試」,如果我搜索「」,那麼它會高亮顯示。但現在我想突出顯示「我測試」在此時突出停止工作。我想要多個單詞突出顯示功能。

有沒有人遇到過這種情況? 在此先感謝。

回答

0

你可以創建自己的filter基於Angular UI的突出顯示,將搜索查詢拆分爲空格。例如,

YOUR_MODULE.filter('hightlightWords', function() { 
    return function (text, search) { 
    if (text && (search || angular.isNumber(search))) { 
     text = text.toString(); 
     search = search.toString(); 

     angular.forEach(search.split(/\s+/), function(search_part) { 
     text = text.replace(new RegExp(search_part, 'gi'), '<span class="ui-match">$&</span>'); 
     }); 
    } 
    return text; 
    }; 
}); 

您還可以更改"ui-match"到自己的高亮類,如果你的願望。