Я попытался реализовать свой собственный канал в angular 6, используя окно поиска для фильтрации списка моих кампаний.Как ни странно, я не могу отфильтровать список кампаний.Я публикую свой код ниже.
Вот так выглядит мой фильтр:
import {
Pipe,
PipeTransform
} from '@angular/core';
@Pipe({
name: 'nameFilter'
})
export class NameFilterPipe implements PipeTransform {
transform(values: any[], key: string, value: string): any[] {
debugger;
if (!values) {
return [];
}
if (!value) {
return values;
}
return values.filter(val => val.CampaignName === value);
}
}
<input [(ngModel)]="searchText" placeholder="search here">
<tr *ngFor="let campaign of campaigns?.result | nameFilter : searchText">
<td style="max-width:280px">
<p>{{campaign.CampaignName}}</p>
<small><span class="cursor" (click)="filterByOwnr(campaign.DepartmentName)" > {{ campaign.DepartmentName }} </span></small>
</td>
Я отладил свою трубу, и вот как это выглядит:
Я могу получить значение для своего канала, но не могу применить фильтр на своей html-странице.
PS : После попытки @Arcteezy я получаю следующую ошибку.
Журнал консоли для console.log (поле) :