Вы можете создать свой собственный канал (класс, который реализует PipeTransform с аннотацией @Pipe).
Метод перегрузки transform (), как показано ниже:
@Pipe({
name: 'searchTask'
})
export class SearchTaskPipe implements PipeTransform {
transform(tasks: Task[], searchText: string): Task[] {
if(!tasks){
return [];
}
if(!searchText){
return tasks;
}
searchText=searchText.trim();
searchText=searchText.toLowerCase();
return tasks.filter(t=>{
if(t.task_desc_1.toLowerCase().includes(searchText)||
t.task_desc_2.toLowerCase().includes(searchText)||
t.task_desc_3.toLowerCase().includes(searchText)||
t.task_bv_ref.toLowerCase().includes(searchText)||
){
return true;
}
}
}
}
Добавьте эту трубу в ваши объявления NgModule. Тогда в своем HTML вы можете использовать его, как показано ниже:
<tr ng-repeat="task in taskList | searchTask: searchFilter">