【发布时间】:2019-05-12 06:40:47
【问题描述】:
下面是我的 stackblitz 示例,其中显示了所有公司及其各自的联系人。遍历每个公司并将联系人绑定到 mat-table。到目前为止,它正在工作。
https://stackblitz.com/edit/angular-riepzk-2k5mcv?file=app%2Ftable-basic-example.html
但我需要为他们各自的公司在 mat-table 中添加一个新行。我已经实现了将新联系人推送到 addRow 方法中的现有表单数组集合的逻辑。但它不会影响 mat-table,但我可以在“form.value”中看到更新的联系人。
我有几个问题
由于我使用 formarray 并将每个集合绑定到 mat-table,与将单个 dataSource 绑定到 mat-table 的常规方法相比,这是实现代码的正确方法吗?
在将单个数据源绑定到 mat-table 时,我们曾经像 dataSource = new MatTableDataSource() 这样初始化数据源,然后将数据绑定到类型脚本文件中的 dataSource.data 属性,在 .html 页面中我们更新数据源到 mat-table 的 [dataSource] 属性,如 mat-table [dataSource] = "datasource"。 但是如何循环遍历表单数组并将数据绑定到 html 中的 [dataSource] 属性。由于数据是动态的,我们不能直接在 .ts 文件中将 dataSource 初始化为 MatTableDataSource。 (或)如果有实现方式请告诉我
【问题讨论】:
-
1) 您可以使用这种绑定 2) 使用#table 指令,您可以在组件中使用@ViewChild 选择器访问表属性。这样,您就可以访问 this.table.datasource 并更改其结构。
标签: angular