2016-04-24 48 views
0

我有我使用repeat.for在HTML中顯示的json數組。我想使用搜索文本框搜索匹配記錄。如何在Aurelia中使用重複創建過濾器?

+2

[過濾器在奧裏利亞視圖陣列(的可能的複製http://stackoverflow.com/questions/29162022/filter-array -in-奧裏利亞視圖) –

回答

2

你可以用ValueConverter做到這一點:

data = [{'a': 'lorem'}, {'a' :'Ipsum'}, {'a' :'bla'}, {'a' :'blub'}, {'a' :'meh'}, {'a' :'isu'}]; 
export class FilterValueConverter { 
    toView(items, search) { 
     if(search === "" || search === undefined) return items; 

     return items.filter((item) => item["a"].includes(search)); 
    } 
} 

這個例子意味着你只是想尋找一個屬性( 「A」)。但是你也可以搜索幾個屬性並匹配結果。

隨着

<div repeat.for="element of data | filter: search" > 
... 

這將匹配大小寫敏感的,你可以使用.toLowerCase()以匹配不區分大小寫。

如果你有這可能可能有性能問題

相關問題