【发布时间】:2020-01-15 13:01:06
【问题描述】:
const columnsTaenzer = [{
headerName: "Any name",
field: "yesno",
checkboxSelection: (params: any) => {
return (state.booleanValue) ? true : false;
}
}, ...
我想根据状态值的值显示复选框。
第一次呈现“booleanValue”时为假。但是当我更改布尔值的状态时,checkboxSelection 无法识别更改。
在 ag-grid 的 checkboxSelection 函数中,state.booleanValue 始终为 false。此外,当我将 valueCache 设置为 false 并使用 force 参数调用 refreshCells() 时,checkboxSelection 函数的 state.booleanValue 始终为 false。
如何告诉 ag-grid 状态值已更改?
<AgGridReact
rowHeight={50}
rowSelection={'multiple'}
rowDeselection={true}
columnDefs={columnsTaenzer}
onSelectionChanged={onSelectionChanged}
onFirstDataRendered={autoSizeAll}
rowData={state.tabledata}
onGridReady={onGridReady}>
</AgGridReact>
//解决方案(更新 - 不起作用)
也许不是正确的,但它有效。 使用上下文: Ag-grid Context 这些参数与 redrawRows() 结合使用。只有 redrawRows() 会触发“checkboxSelection”。如果您只想触发 valueGetter,请使用 refreshCells({force: true})
现在的问题:
如果你调用redrawRows,它会更新表格(很棒),但最迟会更新上下文。
这意味着它将使用旧上下文更新每个单元格
【问题讨论】:
-
我可以查看您的 ag-grid 组件的设置吗?
<AgGridReact ..... />? -
@wentjun 添加了 agggridReact