异步管道的角度9过滤结果

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

我是一个新手,我正在做一个应用程序以学习更好。我有一个关于绑定和过滤http调用结果的问题。在下面的代码中,我尝试绑定一些数据列表。

在服务中,我有这样的电话

 getTestFields(): Observable<Engagement[]> {
   return this.httpClient.get<Engagement[]>(this.url + '/testFields');
 }

它基本上返回一些测试字段的列表;在component.ts上,我将调用结果绑定到一个可观察的变量。]​​>

dataSet$: Observable<Engagement[]>;
ngOnInit(): void {
  this.dataSet$ = this.service.getTestFields();
}

并且在html模板中,我将数据绑定如下:

<table class="table table-hover" *ngIf="dataSet$ | async as resultSet; else loading">
        <tr *ngFor="let item of resultSet" >
            <td>{{item.testName}}</td>
            <td>{{item.planned}}</td>
            <td>{{item.workingOn}}</td>
            <td>{{item.reviewed}}</td>
        </tr>   </table>

直到这里我都没问题;我成功获取数据并显示在表中。问题是过滤;我不知道该如何过滤已经从服务器获取的数据。我不想拨打服务器来过滤数据,我想过滤我已经得到的当前列表。

我尝试了类似下面的操作,但是没有用。

filter() {
    this.dataSet$ = this.dataSet$.pipe(
    switchMap(data => {
      return data.filter(p => p.planned)
    })
  );
 }

如何在不向服务器发送新呼叫的情况下过滤现有的可观察列表?

我是一个新手,我正在做一个应用程序以学习更好。我有一个关于绑定和过滤http调用结果的问题。在下面的代码中,我尝试绑定一些数据列表。在...

angular typescript rxjs angular-pipe
2个回答
1
投票

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.