ag-Grid/Reactjs - 如何获取 columnDefs 中的单元格值
ag-Grid/Reactjs - How to get cell value in columnDefs
我在 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>`;
}
目前我已经在 cellRendererParams
中硬编码了 value: "BUY"
,但我希望它实际上等于该列单元格中的任何内容,可以是 BUY
或 SELL
。
此值会影响 css 应用于文本的内容,BUY
值将显示为绿色,而 Sell
值将显示为红色。
如何设置 value
等于单元格中的实际文本而不是像这样硬编码?
你可以这样做
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 }
}
我在 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>`;
}
目前我已经在 cellRendererParams
中硬编码了 value: "BUY"
,但我希望它实际上等于该列单元格中的任何内容,可以是 BUY
或 SELL
。
此值会影响 css 应用于文本的内容,BUY
值将显示为绿色,而 Sell
值将显示为红色。
如何设置 value
等于单元格中的实际文本而不是像这样硬编码?
你可以这样做
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 }
}