如何防止Ag-grid嵌入式单元格编辑自动修改行数据

时间:2019-04-23 13:53:23

标签: reactjs redux ag-grid immer.js

内联编辑完成后,

AgGrid默认会修改基础行数据。

这打破了“不变性规则”,因为我的模型存储在redux中。当我使用immer时,我也得到了

  

无法分配为只读对象“#”的属性“ version”

如何防止AgGrid自动向模型提交值。我想手动向存储进行调度,以进行更改。

2 个答案:

答案 0 :(得分:1)

  

解决方案是将“ valueSetter”属性添加到网格列的   定义。此属性的值应为将   接收新值,然后使用该新值更新   商店。

原始答案:AG-Grid: Cannot update field in Grid as it is read only

答案 1 :(得分:0)

我不使用ag-grid,但是您可以在文档(自定义单元格渲染器/编辑器)中找到一些有用的信息。

第一名:Cell editor

// Gets called once when editing is finished (eg if enter is pressed).
// If you return true, then the result of the edit will be ignored.
isCancelAfterEnd?(): boolean;

可能使用此道具,您可以调度更新操作并返回true以放弃/阻止本地修改。 OTOH-返回'false'可以作为'optimistic update'-由于不变性和标准事件处理,这似乎是不可能的。

2nd:Example of Redux integration