Труба Asyn c с поиском нестандартной трубы - PullRequest
0 голосов
/ 23 марта 2020

У меня есть источник данных, который можно наблюдать, потому что я получаю данные из моего API. Я хочу найти по тексту эти данные и отфильтровать их:

Здесь у меня есть мой Pipe.ts:

@Pipe({
  name: 'filterText'
})
export class FilterTextPipe implements PipeTransform {

  transform(values, searchTerm): any {

      if (!values || !searchTerm) {
          return _.get(values, '_value', '');
      }

      return values._value.filter( item =>
         item.provider_business_name.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1
      );

  }

}

И вот у меня есть мой шаблон:

<mat-card class="card-provider m-2 p-2" *ngFor="let provider of obs | filterText:searchText | async" />

Также вот мой компонент 1013 * Большое спасибо!

1 Ответ

0 голосов
/ 23 марта 2020

Н.В.М. Я нашел решение, я не знаю, является ли это наиболее «чистым» способом, но он работает!

Я удалил вызов свойства моего наблюдателя в моей трубе:

pipe.ts:

 @Pipe({
      name: 'filterText'
    })
    export class FilterTextPipe implements PipeTransform {

      transform(values, searchTerm): any {

          if (!searchTerm) {
              return values;
          }

          return values.filter( item =>
             item.provider_business_name.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1
          );

      }

    }

И мой шаблон выглядит так:

<mat-card class="card-provider m-2 p-2" *ngFor="let provider of obs | async | filterText:searchText" >
...