我有一个简单的列表,从JSON商店加载数据。我已经将分页解析为服务器端,因此为了获得新页面,我更改了商店的代理并将页面参数设置为+1(新页面),加载商店,并且列表仅显示来自新一页。 是否有可能使该列表在商店加载后追加新的结果?因此,当我用新数据加载商店时,我希望列表保留旧数据并添加新数据。 如果需要的话,我可以在代码中展示它,但它非常自我描述。 谢谢。Sencha触摸列表追加商店加载新结果
//编辑
目前我店里是这样的:
realio.stores.results = new Ext.data.Store({
model: "realio.models.Results",
proxy: {
type: 'ajax',
url: 'http://site.com/json_list2.php?a=l&zp=1&u='+settings["ulica"]+'&c0='+settings["cena0"]+'&c1='+settings["cena1"]+'&p0='+settings["plocha0"]+'0&p1='+settings["plocha1"]+'&cm20='+settings["cenam20"]+'&cm21='+settings["cenam21"]+'&pg=0&s=Datumu&t='+settings["typ"]+'&age='+settings["stari"]+'&pod='+settings["podlazi"]+'&lat='+settings["lat"]+'&lng='+settings["lng"]+'&pp='+settings["pp"]+'&tp0='+settings["typ0"]+'&tp1='+settings["typ1"],
reader: {
type: 'json',
root: 'markers'
}
},
sorters: [
{
property: 'id',
direction: 'ASC'
}
]
});
和我的模型是这样
realio.models.Results = Ext.regModel("realio.models.Results", {
fields: [
{name: "titul", type: "string"},
{name: "vlast", type: "string"},
{name: "typb", type: "string"},
...
]
});
列表:
xtype: 'list',
store: realio.stores.results,
flex: 1,
disableSelection: true,
scroll: 'vertical',
itemTpl: itemTemplate,
onItemDisclosure: function (record) {
Ext.dispatch({
controller: realio.controllers.detail,
action: 'load',
detail: record
});
},
listeners: {
'itemtap': function(t, i, it, e) {
Ext.dispatch({
controller: realio.controllers.detail,
action: 'load',
detail: t.store.getAt(i)
});
}
},
plugins: [
{
ptype: 'listpaging',
autoPaging: false
},
{
ptype: 'pullrefresh'
}
]
我有寻呼解决了服务器端 - >当我在代理网址中设置& pg = x时,我转到页面x,所以我不知道如何让它与这些商店页面一起运行。即使我试图设置商店页面大小为例如2,它会显示所有结果无论如何,所以我认为它不工作...
嗨,我现在检查它,我之前检查过,但listpagingplugin正在与商店页面。我现在不是真的如何让他们工作。拉刷新的例子是相当混乱的叽叽喳喳代理我不认为我需要做这么复杂的代理,我会用一些代码编辑主消息。 – haluzak
再次看看TwitterProxy,你可以看到如何使用'Ext.apply'应用自定义参数(在pullrefresh示例中,他们在'buildRequest'中设置了2个自定义参数'rpp'和'page')做同样的事情,但你的参数将是'pg' – chrixian
@haluzak:你有任何进展。我在这里完全相同的情况,并不能完全弄清楚Twitter的例子。 – keune