我正在尝试将 AG Grid 服务器端模型与 Redux Toolkit Query 集成,但问题是我有更改的外部参数,但没有找到处理方法。
我有分页/过滤器/排序,我想我不能只覆盖数据源,否则我可能会丢失它们?
举个例子
function MyGrid({ param1, param2 }: props): ReactElement {
// param1/param2 are updated here
const [triggerPostData] = usePostDataMutation();
const createDatasource: () => IServerSideDatasource = useCallback(() => {
return {
getRows: (parameters): void => {
// param1/param2 arent updated here
triggerPostData({ param1, param2, rowsRequestData: parameters.request })
.unwrap()
.then((data) => {
parameters.success({
rowData: data.results,
rowCount: data.resultCount
});
return parameters;
})
.catch(() => {
parameters.fail();
});
}
};
}, [param1, param2, triggerPostData]);
const onGridReady = useCallback(
(parameters: GridReadyEvent): void => {
parameters.api.setServerSideDatasource(createDatasource());
},
[createDatasource]
);
const agGridProperties: AgGridReactProps = {
columnDefs,
rowModelType: 'serverSide',
cacheBlockSize: paginationPageSize,
onGridReady
};
return <AgGridReact {...agGridProperties} />;
}