【发布时间】:2023-03-28 08:10:01
【问题描述】:
在 extjs 中,当使用 .save 创建记录时,它会返回带有 id 的记录,但不会自动显示在列表存储中
【问题讨论】:
-
您能提供更多信息吗?请创建一个有效的Fiddle 示例,清楚地显示您面临的问题。这样我们就能更好地帮助您。
在 extjs 中,当使用 .save 创建记录时,它会返回带有 id 的记录,但不会自动显示在列表存储中
【问题讨论】:
当您使用Ext.create('MyModel') 创建记录时,它最初不属于任何商店。可能有不止一家商店可以持有或不持有。除非您将其添加到特定商店,否则它将独立存在。例如:
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(),模型会再次发送到服务器。
【讨论】: