Typescript 如何使用repeat for在Aurelia中创建过滤器?

Typescript 如何使用repeat for在Aurelia中创建过滤器?,typescript,aurelia,Typescript,Aurelia,我正在使用repeat.for在HTML中显示json数组。我想使用搜索文本框搜索匹配的记录。您可以使用ValueConverter执行此操作: data=[{'a':'lorem'},{'a':'Ipsum'},{'a':'bla'},{'a':'blub'},{'a':'meh'},{'a':'isu'}]; 导出类FilterValueConverter{ 查看(项目、搜索){ 如果(搜索===“”| |搜索===未定义)返回项目; 返回项目。过滤器((项目)=>项目[“a”]。包括(搜

我正在使用repeat.for在HTML中显示json数组。我想使用搜索文本框搜索匹配的记录。

您可以使用ValueConverter执行此操作:

data=[{'a':'lorem'},{'a':'Ipsum'},{'a':'bla'},{'a':'blub'},{'a':'meh'},{'a':'isu'}];
导出类FilterValueConverter{
查看(项目、搜索){
如果(搜索===“”| |搜索===未定义)返回项目;
返回项目。过滤器((项目)=>项目[“a”]。包括(搜索));
}
}
此示例意味着您只需要搜索一个属性(“a”)。但您也可以搜索多个属性并匹配结果


...
这将匹配区分大小写,您可以使用
.toLowerCase()
匹配不区分大小写的


如果您有大量数据,这可能会有性能问题

,就像Kabaehr建议的那样,您可以通过值转换器来实现这一点,以便对表中的每一行应用过滤功能。我在这篇博文中举了一个例子:

可能存在的副本
<div repeat.for="element of data | filter: search" >
...