我们在这个项目中仍在使用 ExtJS 3.3,因为它是一个较旧的项目并且(不幸的是)我们目前没有时间升级。
我有一个带有宁静 JSON 存储的编辑器网格面板。JSON 存储已autoSave
设置为false
,因为当某些事情发生变化时,我需要在服务器上执行一个可能长时间运行的任务。所以我决定创建一个“保存”按钮,这样商店只有在用户完成修改后才会保存。由于商店正在向服务器发送多个请求,我正在监听商店的save
事件以在保存所有数据后触发另一个请求开始长时间运行的操作。
问题来了:根据文档,事件处理程序的第三个参数是已保存的数据,按存储操作(创建、更新或销毁)分组,如下所示:
{
create: [ /* created records here */ ],
update: [ /* updated records here */ ],
destroy: [ /* deleted records here */ ]
}
我的问题是我只收到“创建”的记录。对于其他操作,当应该有一些记录时,数组总是空的。如果没有使用“update”或“destroy”的记录,则该data
对象不包含“update”或“destroy”键(这是正确的)。
假设在最后一次保存操作中有一条更新、两条创建和没有删除的记录,我收到的数据如下所示:
{
create: [
{ /* record 1 data here */ },
{ /* record 2 data here */ }
],
update: [] // <-- should not be empty!
}
我不知道为什么update
,destroy
总是空着。谁能帮我?
或者,也许您有另一个建议,我可以如何解决原始问题,使用所有创建/更新/删除记录的 ID 执行“保存后”任务。