angular-cdk的数据源可以与md-select一起使用吗?

时间:2017-08-03 22:31:07

标签: angular angular-material2 angular-cdk

我使用的是Angular 4和Angular Material 2 (2.0.0-beta8)的当前测试版。

Material表组件构建在CDK数据表之上。因此,很容易连接一个后端,该后端将调用数据的服务/ apis,并且它实现了将RxJS Observable用于事物的所有连接。 (参见demo here。)

我想弄清楚的是,我是否可以使用@ angular / cdk中的相同AsyncTask Class接口,并使用它来填充一堆DataSource元素。

例如:

md-select

这不起作用,因为<md-select class="col-lg-4" placeholder="Product" [dataSource]="configData"> <md-option *ngFor="let product of products" [value]="product.id">{{product.display_name}}</md-option> </md-select> 没有md-select属性。我可以在dataSource上使用类似的界面或属性吗?我想要做的就是不必重新实现md-table / dataSource实现所使用的所有Observable和其他反应功能。

2 个答案:

答案 0 :(得分:0)

我不知道,现在你让我考虑尝试订阅DataSource上的connect()方法。类似的东西:

<md-option *ngFor="let product of configData.connect() | async" ...

这可行,假设您的DataSource.connect返回一个Observable.merge,就像在当前的官方文档中一样。

答案 1 :(得分:0)

npm install @matheo/datasource

我发布了一个库,旨在将来成为正式的Material DataSource,它支持任何类型的输入流(排序,分页,过滤器)以及一些调试配置,以查看其在编码时的工作方式。

import { MatDataSourceModule } from '@matheo/datasource';

您的选择可以成为表单的一部分,触发更改并使用根据选择器的值构建的REQuest刷新DataSource

您可以在此处找到StackBlitz演示和更多信息:
https://medium.com/@matheo/reactive-datasource-for-angular-1d869b0155f6

很高兴听到您的意见,并在必要时支持您的用例。
编码愉快!