在extjs中,当使用.save创建记录时,该记录返回带有id的记录,但不会自动显示在列表存储中
答案 0 :(得分:2)
使用Ext.create('MyModel')
创建记录时,它最初不属于任何商店。可能有多个商店可以容纳或不支持。除非您将其添加到特定商店,否则它将独立存在。 E.g:
var model = Ext.create('MyModel',{
field1:'ABC',
field2:123
});
model.save({
success:function(record) {
if(record.get("id")%2==0) storeEven.add(record);
else storeOdd.add(record);
}
});
除非您需要服务器上的其他信息来决定将模型添加到哪个商店,否则更好的方法是直接将模型添加到商店,因此您可以添加以下内容,而不是通过显式名称创建模型。配置到商店,然后同步商店:
var model = store.add({
field1:'ABC',
field2:123
});
store.sync();
这样,您的商店就知道您的模型已保存到服务器。如果您已使用model.save将模型存储在服务器上,然后将其添加到存储中,然后再运行store.sync()
,则模型将再次发送到服务器。