【问题标题】:Ag Grid React col equals function gets undefined paramsAg Grid React col 等于函数获取未定义的参数
【发布时间】:2021-08-30 15:35:48
【问题描述】:

我正在使用自定义功能 cellRenderer。我知道根据文档它无法重新实现刷新功能。完全没问题,我不需要。但我想覆盖 equals 函数 - 根据文档 equals 默认比较 (a,b)=>a===b - 这对我不起作用,因为我需要 deepEqual。

因此,当某些内容触发刷新时(例如 applyTransactionrefreshCells),我的自定义单元格不会被刷新。 我确定这不是因为缺少刷新方法导致如果我像下面这样覆盖 equals 它将始终重新呈现 - equals: (a,b)=>false

但我不想在任何时候重新渲染单元格 - 它在后台进行了一些相对繁重的计算。当然,检查 deepEquality 会更合理。问题是 equals 处的(a,b) 参数由于某种原因总是未定义。 (在 colDef 处覆盖它)。此处未附加我的 cellRenderer 的代码,因为没有什么可以帮助的,只是一个返回功能组件并将一些 cellParams 数据传递给它的函数。有什么建议为什么会发生这种情况?

【问题讨论】:

    标签: reactjs ag-grid


    【解决方案1】:

    它是用一个 value getter 来解决的。就我而言:

    {
       ...column,
       equals: (a, b) => isEqual(a, b),
       valueGetter: (api) => {
                    const id = api.data.id;
                    return api.node.rowModel.nodeManager.allNodesMap[id].data
                        .mainRule?.condition?.treeFormat;
                },
       }
    

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 2019-09-18
      • 2020-09-06
      • 2022-11-26
      • 2018-12-27
      • 2019-07-25
      • 1970-01-01
      • 2021-11-18
      • 2020-03-06
      相关资源
      最近更新 更多