2016-04-24 53 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()以匹配不区分大小写。

如果你有这可能可能有性能问题

相关问题