我正在尝试将 Angular MatTable 与异步管道一起使用。我从 RESTAPI 获取数据作为 Observable。但是,当我以这种方式使用 ([dataSource] = "dataSource | async") 时,我得到了上面提到的错误。
存储库.service.ts:
public GetList(controller: string): Observable<T[]> {
return this.httpclient.get<T[]>(this.apiURL + '/' + controller + '/getList', { headers: this.headers });}
联系人.component.ts:
ngOnInit() {
this.contactService.GetList("OfferContact").subscribe(res => {
this.ContactList = res
this.setFunctions(this.ContactList)
})}
setFunctions(list) {
this.dataSource.data = list;
this.spinner.hide()
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
}
联系人.component.html:
<table mat-table [dataSource]="dataSource|async" matSort>
<ng-container matColumnDef="company">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Firma Adı </th>
<td mat-cell *matCellDef="let element"> {{element.company}} </td>
</ng-container>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Yetkili Adı </th>
<td mat-cell *matCellDef="let element"> {{element.name}} </td>
</ng-container>
...
</table>
<mat-paginator [pageSizeOptions]="[20, 30, 50, 70, 100]"></mat-paginator>
错误
ERROR Error: InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe'
这是屏幕截图。正如您在右下角看到的那样,数据被提取但未处理到表中。
任何人都可以帮助解决这个问题吗?