我有一个商店,我想将一些初始值硬编码到。然后,当它从服务器加载时,我希望它将结果附加到初始值,而不是替换它们。这可能吗?
这就是我现在所拥有的:
var myStore = Ext.create("Ext.data.Store",{
autoLoad: true,
fields:[
{name:"id", type:"int"},
{name:"username", type:"string"}
],
data: [
{id: 1, name: "User1"},
{id: 2, name: "User2"}
],
proxy: {
type: 'ajax',
url: 'users.php?method=getUsers',
reader: {
type: 'json',
root: 'results'
}
}
});
我希望将从PHP脚本返回的数据添加到商店中已有的“User1”和“User2”。
答案 0 :(得分:6)
试试这个:
store.load({
addRecords: true
})
答案 1 :(得分:0)
我最终得到的解决方案是在商店的load事件上安装一个监听器,并在每次商店重新加载时手动添加默认数据:
var myStore = Ext.create("Ext.data.Store",{
autoLoad: true,
fields:[
{name:"id", type:"int"},
{name:"username", type:"string"}
],
proxy: {
type: 'ajax',
url: 'users.php?method=getUsers',
reader: {
type: 'json',
root: 'results'
}
},
listeners: {
load: function(){
var me = this;
me.add({id: 1, name: 'User1'});
me.add({id: 2, name: 'User2'});
}
}
});
这仍然无法解决每次如何让商店附加数据的问题,但幸运的是这个解决方案对我来说还可以!