Я хочу построить поисковое окно в угловом формате, которое будет возвращать массив элементов, а также выделить поисковый элемент в массиве результатов.
Например: в Chrome, если вы ищете какой-либо текст, оновыделил бы светло-желтым фоном.Похоже на это.
Я создал две трубы, одну для фильтрации результатов и другую для выделения термина в результатах , в котором выполняется поиск,Но я получаю сообщение об ошибке replace is not a function
.
А также, можно ли объединить две трубы в одну?
highlight.pipe.ts
transform(list: any, searchText: string): any[] {
if (!list) { return []; }
if (!searchText) { return list; }
const re = new RegExp(searchText, 'gi');
const value = list.replace(re, "<span class='yellow'>" + searchText + "</span>" );
return list;
}
с использованием трубы в шаблоне
<div class="card" *ngFor="let item of list | search: searchedTerm | highlight: searchedTerm">