首页 > 解决方案 > 如果在多个组件中使用相同的 ag-grid,如何在 Angular 中使用 rowDoubleClick?

问题描述

我有一个ag-grid在 4 个不同的Angular组件中使用的。rowDoubleClicked我只想为一个组件启用。但是当我在网格中给出它时,它会为所有组件启用。

如何使其仅启用为该特定组件发出的一种特定方法?

我读到我们可以this.gridOptions.onRowDoubleClicked在 component.ts 文件中使用,但不确定如何将它准确地用于特定方法。

模板 :-

<ag-grid-angular
      [columnDefs]="columnDefs"
      [rowData]="rowData"
      [rowSelection]="rowSelection"
      (gridReady)="onGridReady($event)"
      (rowDoubleClicked) = "onRowDoubleClick()"
      gridOptions="{{ gridOptions }}"
    >
    </ag-grid-angular>

组件.ts:-

onRowDoubleClick(){
     console.log("Double Click works for a particular component");
     }

标签: angulartypescriptag-gridag-grid-angular

解决方案


在组件中定义 gridOptions 并将其传递给模板。像这样的东西,

内模板:

[gridOptions]="gridOptions"

在组件中:

export class YourComp {
   gridOptions: GridOptions; //Declare gridoptions
   constructor(){
        this.gridOptions = {
        onRowDoubleClick: yourMethod()
      }
  }
}

推荐阅读