我的商店有autosync:true
。
加载商店时,我获得了完整的模型:
[{"id":11,"active":true,"name":"ABC","sens":7,"details":119,"type":13,"acl":false,"create":true,"delete":true,"owner":"alexander","members":"gustave\njerome"}]
将新模型同步到服务器时,我会发送"id":0
,因此服务器知道必须创建一个新模型。然后,服务器将响应{"success":true,"data":[12],"debug":[]}
,其中12
是新创建的条目的ID。
现在我必须为autoSync操作添加一个回调函数来修补我收到的回到商店的ID。
如果我手动同步,这很容易:
Ext.getStore("RightsStore").sync({
success:function() {
}
})
但是,如何将插入同步插入到与autoSync一起使用的商店中获得特殊成功或回调函数?
答案 0 :(得分:1)
如果服务器发送了{"success":true, "data"[{"id":12, ....}]}
,那么您不需要做任何事情。最好的是服务器使用更新的数据(按相同顺序)发回它为CRUD操作收到的完整记录。 Ext负责其余部分。
答案 1 :(得分:1)
如果您无法像@Saki提到的那样更改服务器输出,您可以只听取加载事件并使用新ID更新记录。
store.on('load', me.loaded, me);
loaded: function(store, records) {
}
此处有更多详情 - http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.data.Store-event-load