Ag 网格在自定义单元格渲染器 Angular 中获取字段值

问题描述 投票:0回答:0

我正在尝试获取单元格渲染器中的列字段值。我可以通过 agInit 连接方法中的

params.data.code
来做到这一点,但这会使单元格渲染器不可重用于其他组件,因为字段“代码”不是通用的。

在文档中它说它将使用 valueGetter(with or wout valueFormatter)而不是字段,如果提供的话;但在渲染器中

params.value
它总是未定义的。

列定义尝试:

      {
        headerName: "test",
        field: 'code', 
        cellRenderer: CustomCellRendererComponent,
        cellRendererParams: {
          title: "title-for-custom-component",
          parent: this,
        }
      }

      {
        headerName: "test",
        field: 'code', 
        cellRenderer: CustomCellRendererComponent,
        cellRendererParams: {
          title: "title-for-custom-component",
          parent: this,
        },
        valueGetter: (params) => return params.data.code,
      }

     {
        headerName: "test",
        field: 'code', 
        cellRenderer: CustomCellRendererComponent,
        cellRendererParams: {
          title: "title-for-custom-component",
          parent: this,
          value: (params) => {params.data.code}
        },
      }

单元格渲染器:

export class CustomCellRendererComponent implements ICellRendererAngularComp {

 refresh(params: ICellRendererParams): boolean {
    return false;
  }

  agInit(params: ICellRendererParams): void {
    this.params = params;
    //1st try will print undefined
    //2nd try will print undefined
    //3rd try will print (params) => { params.data.code; }
    console.log("valuegetter:"+this.params.value)

    //this one works, but here I'm accessing the 'code' field from the row, so it's not reusable
    console.log("valuegetter:"+this.params.data.code)
    //I am able to access title and parent params as well
   
  }

 }

是否可以在不从渲染器访问行数据的情况下获取字段值?或者我必须通过 params.data 来实现吗?

angular ag-grid
© www.soinside.com 2019 - 2024. All rights reserved.