Typescript 如何使用repeat for在Aurelia中创建过滤器?
我正在使用repeat.for在HTML中显示json数组。我想使用搜索文本框搜索匹配的记录。您可以使用ValueConverter执行此操作: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”]。包括(搜
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" >
...