我不知道如何从同级组件刷新表。我的仪表板HTML有组件。我执行了一个操作,并且需要通过单击对话框来刷新角度材料表。我使用的是提供的默认MatTableDataSource,但this.table.renderRows()只能在父子关系中工作。显示的代码显示了父级的布局。在浮动动作按钮中,它们是几个组件,这些组件都是针对不同动作的不同模态。可以选择表格上的项目并执行操作。我手动删除了结果数组(从表中选择的行),但是在控制台中删除了数据,并且不在表中刷新数据
我已经提供了结构的更新
The file below is called a dashboard.html file
<app-table></app-table>
<floating-action-button></floating-action-button>在我的app Table组件中是Mat table。在浮动动作中,我使用const dialogRef = this.dialog.open(ActionComponent1,{dialogRef:'500px',height:'500px',我在浮动动作按钮.ts文件中有另外3个对话框组件,按下对话框中的box后,应该刷新表格。我对如何从包含@Component ActionComponent1的floating- action -button.ts中的action组件1刷新表发信号感到困惑(这里我将其称为action one作为示例。我在对话框中按下on,运行一个函数来从表中删除行,并且表需要刷新,但我似乎不知道如何从浮动动作button.ts中的Action1组件中发出信号通知table.renderRows()。我也从不使用action 1组件选择器,比如anywhere,因为它是一个对话框。
发布于 2019-08-01 13:16:28
您可以使用subject通过服务传递应该刷新表的信息
发布于 2019-08-01 14:17:54
如果将对组件的引用作为输入传递,则可以创建一个table.renderRows()
<app-table #apptable></app-table>
<floating-action-button [apptable]="apptable"></floating-action-button>内部
@ViewChild(MatTable) table内部浮动操作按钮
@Input("apptable") apptable
click()
{
this.apptable.table.renderRows()
}https://stackoverflow.com/questions/57301882
复制相似问题