AG Grid v30迁移v31:ColumnState[]与GridState映射及状态转换问询
旧状态到新GridState的映射关系
下面是旧状态字段与新GridState对象的明确映射,你可以直接按此编写转换逻辑,无需在渲染阶段处理:
核心映射项
- ColumnState[] → 映射到新GridState的
columns字段,结构基本一致,直接将数组赋值到gridState.columns即可 - FilterModel → 映射到新GridState的
filter字段,旧FilterModel的结构完全兼容新API的gridState.filter - PivotMode → 映射到新GridState的
pivot.mode字段,布尔值直接赋值
其他常见状态映射(按需使用)
- SortModel → 对应
gridState.sort - ColumnVisibilityModel → 对应
gridState.columnVisibility - PivotColumns → 对应
gridState.pivot.columns - GroupingModel → 对应
gridState.grouping
转换示例代码
// 旧状态对象示例 const oldState = { columnStates: [...], filterModel: {...}, pivotMode: true, sortModel: [...], columnVisibilityModel: {...} }; // 转换为新GridState格式 const newGridState = { columns: oldState.columnStates, filter: oldState.filterModel, pivot: { mode: oldState.pivotMode, columns: oldState.pivotColumns || [] }, sort: oldState.sortModel, columnVisibility: oldState.columnVisibilityModel };
注意:如果是MUI X Data Grid场景,官方已确保旧状态结构与新GridState对应字段完全兼容,转换时无需修改字段内部结构,直接映射即可。
内容的提问来源于stack exchange,提问作者Peter K
相关产品推荐
相关产品推荐

