首页 > 解决方案 > IHeaderAngularComp 关于更改参数

问题描述

我正在使用 ag grid / angular,并且我已经成功地从 IHeaderAngularComp 重新定义了一个自定义标题。在 cusotm 类内部,我使用 agInit(params),如文档中所述,以获取我在网格外设置的自定义参数。它工作得非常好,除了我在参数中使用的数据来自 http 请求,但是在请求解析时,标头已经创建,并且对 agInit 的调用早已不复存在......所以我很好奇使用 agChange 或类似的?

这是自定义类(非常经典):

export class CustomMonthHeaderComponent implements IHeaderAngularComp  {

   private params: any;

  constructor() { }

  agInit(params) 
  {
     this.params = params; // this is not yet fully prepared at this time
  }

  // proposal / similar option : 
  agChange(params) 
  {
     this.params = params; // this is ok now yeah !
  }
}

标签: angularag-grid

解决方案


这实际上与 ag-grid 无关,只是普通的旧 JS。

您可以将承诺作为参数传递,当它解析时,根据需要更新字段

export class CustomMonthHeaderComponent implements IHeaderAngularComp  {

  private params: any;
  private someField = "";

  constructor() { }

  agInit(params) 
  {
     this.params = params; // this is not yet fully prepared at this time
     this.params.getStuffForHeadersPromise.then((data) => {
         // this is ok now yeah !
         this.someField = data.someFieldValue;
     });
  }
}

推荐阅读