Angular - PipeTransform - 过滤可观察数组

问题描述 投票:0回答:1

我在创建 PipeTransform 时遇到问题,输入是 Observable 并且我想根据另一个参数过滤这个数组,但它不起作用。 有什么帮助我哪里出错了吗?

export class FilterClientPipe implements PipeTransform {
  transform(clients: Observable<ClientModel[]>, i1: string): any {

    if (i1 !== '') {
      clients = clients.pipe(
        map((data: ClientModel[]) =>
          data
            .filter(i => i.i1.toLowerCase() === i1)
        ));
      return clients;
    }
    return clients;
  }
}
angular dictionary filter pipe observable
1个回答
0
投票
export class FilterClientPipe implements PipeTransform {

  transform(clients: Observable<ClientModel[]>, i1 : string): ClientModel[] {

    return clients.pipe(
      take(1),
      map(data=> {
        if(i1){
          return data.filter(client => client.i1.toLowerCase().include(i1))
         }
        return data;
       })
     ).toPromise()
 }

我希望这对你有帮助。但是,如果您可以分享更多您想要实现的目标的信息,那就太好了,然后我将为您创建 stackblitz 示例。 干杯🥂

© www.soinside.com 2019 - 2024. All rights reserved.