从DataSource Angular MatTable获取对象

时间:2018-07-31 16:54:56

标签: angular datasource angular-datatables

我有一个物料数据表,并从查询中获取数据以显示它。这是我的transaction-history.component.ts文件:

onDataChange

这将完美显示数据。但是现在我想获取正在显示在每一行中的Transaction对象。现在,dataSource正在获取“事务”列表,但是如何访问该列表?我尚未在dataSource对象上找到任何可以做到这一点的方法。

谢谢。

1 个答案:

答案 0 :(得分:1)

您始终可以保存最新数据的副本,并通过公共属性公开它。像这样:

export class TransactionDataSource extends DataSource<any>{
  public data: Transaction[];
  constructor(private transactionService: TransactionService) {
    super();
  }
  connect(): Observable<Transaction[]> {
    return this.transactionService.getUploaded().pipe(
      tap((data) => this.data = data),
    );
  }
  disconnect() { }
}

这样做的一个缺点是对数据属性的修改不会反映在表中。