ExtJS 4.1:如何将本地数据与ajax加载的数据组合在一个商店中?

时间:2012-09-13 14:47:24

标签: extjs extjs4 store extjs4.1

我正在寻找一种方法将本地数据与ajax加载的数据组合在一个商店中。我很难用英语解释这个,我希望这段代码更明确:

var store = Ext.create('Ext.data.Store', {
    autoLoad: true,
    fields: ['id', 'name'],
    proxy: { type: 'ajax', api: { read: '/read' }  },
    data: [{ id: 1, name: 'John' }]
});
Json由“/ read”返回:[{ id: 2, name: 'Jack' }]

所需行为:store.count() // 2

1 个答案:

答案 0 :(得分:3)

您可以使用.load({addRecords: true}将已加载的记录添加到现有记录中。

当然,如果您启用addRecords: true选项再次加载 ,它会再次将记录添加到现有记录中,从而导致:

[{ id: 1, name: 'John' },{ id: 2, name: 'Jack' },{ id: 2, name: 'Jack' }]

您可以实现一个before load处理程序,将商店重置为原始数据,如果每次重新加载时只需[{ id: 1, name: 'John' },{ id: 2, name: 'Jack' }],则可以再次加载。

相关问题