繁体   English   中英

当我的行数据从一个组件传递到另一个组件时更新时如何检测 ag-grid 的变化

[英]How to detect change in ag-grid when my row data is updated while passing from one component to other

我正在开发一个关于 angular6 的项目,我们正在实施 ag-grid 来填充来自 angular 对话框的数据。 由于多个团队正在工作,因此他们正在创建自己的组件。我陷入了一种不寻常的情况,我无法弄清楚如何解决这种情况。 我们有一个名为 (ADD OWNER) 的按钮,它是一个名为 ADD-OWNER.component.ts 的组件,我在其中打开一个对话框并传递另一个名为 ownerdetails.component.ts 的组件,其中包含我的所有表单详细信息。 对话框中有 2 个按钮(添加/取消),因此我将数据推送到元数据服务中,因为我不必保存在数据库中,我必须通过浏览器保存数据。 我在 dialog.closed 事件中所做的那部分编码工作正常。现在我必须将此 ownerdetails 传递到另一个名为 Gridcomponent 的组件中,我的 ag-grid 在其中,所以我使用输入属性事件从我的 add-owner 发送数据。组件到网格组件。 我通过传递给定的输入细节将网格组件选择器渲染到我的 add-onwer.component.ts 中。 现在我在我的网格中使用 input 属性来接收值,但我希望在 rowdata 发生变化时自动更新网格。 该值未更新,我该如何实现。 我可以看到值被推入所有者列表,但不知何故我必须在网格中显示。 我没有确切的代码,但我尽力解释。

添加所有者.Component.html

<button mat-button (click)="openDialog()">Open dialog</button>
      <app-grid-selector [gridOptions]="ownerlist ">

ADD-OWNER.Component.ts

  openDialog() {
    const dialogRef = this.dialog.open(OwnerDetails);

    dialogRef.afterClosed().subscribe(result => {
      ownerlist = Pushing data into a metadata service which is working fine
    });}

网格组件.html

    <ag-grid-angular 
    style="width: 500px; height: 500px;" 
    class="ag-theme-balham"
    [rowData]="owner" 
    [columnDefs]="columnDefs"
    >
</ag-grid-angular>

grid.component.ts

 @Input() gridoptions
   ngOnint(){
   owner =this.gridOptions.rowData
   }

ag-grid版本`^22.1.1 开始,您可以使用

在组件中:

onRowDataUpdated

gridOptions = {
    onRowDataUpdated: function(){//do something}
}

在模板中使用gridOptions作为

 <ag-grid-angular
     ...
     [gridOptions]="gridOptions"
     ...
  >
  </ag-grid-angular>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM