Javascript ag Grid/Reactjs-如何在columnDefs中获取单元格值

Javascript ag Grid/Reactjs-如何在columnDefs中获取单元格值,javascript,reactjs,ag-grid,Javascript,Reactjs,Ag Grid,我在Reactjs应用程序中使用ag Grid table,下面是我的代码片段: const columnsDef = [ . . { headerName: 'Side', field: UI_FIELDS.SIDE, width: 70, cellRenderer: sideRenderer, cellRendererParams: { value: "BUY" } }, . . ] function si

我在Reactjs应用程序中使用ag Grid table,下面是我的代码片段:

const columnsDef = [
  .
  .
  {
    headerName: 'Side',
    field: UI_FIELDS.SIDE,
    width: 70,
    cellRenderer: sideRenderer,
    cellRendererParams: {
      value: "BUY"
    }
  },
  .
  .
]

function sideRenderer(params) {
  const value = _.get(params, 'value') || '';
  const styleSuffix = _.isEmpty(value) ? 'default' : value.toLowerCase();

  return `<span class="side-renderer side-renderer-${styleSuffix}">${value}</span>`;
}
我有硬编码的值:目前在我的CellRenderParams中购买,但我希望它实际上等于该列的单元格中的值,可以是买入或卖出

此值影响css应用于文本的内容,买入值将显示为绿色,卖出值将显示为红色


如何将值设置为与单元格中的实际文本相等,而不是像这样硬编码?

您可以这样做

const columnsDef = [
  {
    headerName: 'Side',
    field: UI_FIELDS.SIDE,
    width: 70,
    cellRenderer: (params) => params.value.toLowerCase() === 'buy' ? `<span class="side-renderer side-renderer-buy">${params.value}</span>`  : `<span class="side-renderer side-renderer-sell">${params.value}</span>
  }
]
我猜这就是你想要的?如果没有,请详细说明您需要什么


编辑:您实际上不需要传递单元格渲染参数,您可以使用params.value获取单元格的值。

感谢“A Ghanima”提到使用params.value,这帮助我想出了以下有效的解决方案

{
  headerName: 'Side',
  field: UI_FIELDS.SIDE,
  width: 70,
  cellRenderer: sideRenderer,
  cellRendererParams: (params) => { value: params.value }
}

我不确定这是在做什么,值不会为空,它将是买入或卖出,我需要从该列中的每个单元格中获取该值检查更新的答案,如果值为买入,将呈现第一个html,否则将呈现第二个html。啊,谢谢,渲染器已经通过添加单词buy或sell作为css后缀来处理此问题,但是您的params.value注释帮助我提出了解决方案,我现在将发布此解决方案