我创建了一个根据用户输入搜索角度2过滤数据的管道。
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filterName',
pure:false
})
export class FilterNamePipe implements PipeTransform {
transform(items: any[], searchTerm: any): any[] {
if (!searchTerm) return items;
return items.filter(function(item){
if(item.fullNme == null){
return null;
}else {
return item.fullNme.toLowerCase().includes(searchTerm.toLowerCase());
}
})
}
}
JSON :
{ name: "Peter Martha", age: 2 },
{ name: "Martha, Pablo ", age: 55 },
{ name: "Linda Peter", age: 20 },
上面的过滤器工作正常。我想要一个基于第一个输入字符串过滤的过滤器。当我寻找" P / p"它应该只显示 Peter Martha ,但不能显示 Linda Peter 或 Martha Pablo 。可以告诉我有什么问题或者应该做些什么更改完成。谢谢。
答案 0 :(得分:1)
我会使用String.startsWith()
函数
return item.fullNme.toLowerCase().startsWith(searchTerm.toLowerCase());