1

我有一个网格、一个存储和模型用于它的数据和指向我自己编写的 PHP 后端的存储的 AJAX 代理。PHP 后端在每次调用时都会写入日志。

系统可以正常进行读取、更新和删除调用。但是现在我需要向 Store 添加新字段,我这样做的方式如下:

(这里,生成了一些新数据……)

var newEntry=Ext.ModelManager.create({   
     id:id,
     title: title,
     url: '/php/'+fname,
     minithumb: '/php/'+small,
     thumb:'/php/'+thumb
                }, 'MyApp.model.fileListModel');
 var store=Ext.getCmp('currGallery').getStore();
 store.add(newEntry);
    store.sync();

我在网格中出现了新行。但是不管有没有我们的 sync() 调用,我的 PHP 后端都没有调用。然而,它又读了一次。商店有参数 autoSync :true 并且当我在网格中编辑现有行时自动更新数据非常好。

我错过了什么?

4

2 回答 2

1

事实上我错过了一个

 newEntry.phantom = true; 

旗帜。在添加到商店之前设置它之后,商店及其代理开始向服务器发送数据。

也许ID解决方案也有效,不知道。

于 2012-07-11T12:59:06.483 回答
1

id创建新记录时尽量不要设置。

于 2012-07-10T21:34:29.960 回答