我有一个巨大的商店(数千行),为了让我的应用程序运行得更快,我想在首次打开应用时设置最大页面大小。然后只显示用户的其余数据向下滚动。以下是我到目前为止的情况:
Ext.define("myApp.store.foo", {
extend : 'Ext.data.Store',
requires : ['Ext.data.Store', 'myApp.model.foo', 'Ext.data.reader.Xml'],
alias: 'myApp.store.approachMainStore',
config: {
model : 'myApp.model.foo',
storeId: 'mainStore',
autoLoad: true,
pageSize: 50,
proxy : {
type : "ajax",
url : 'resources/images/data/bar_all.xml',
reader : {
type : "xml",
pageParam: 'page',
clearOnPageLoad: false,
rootProperty : 'foo',
record : 'bar'
}
}
}
});
我正在使用xtype的List。但是当我运行我的应用程序时,一切正常,除了它加载所有数据之前我添加pageSize: 50,
我错过了什么?
运行Sencha Touch 2.4.1
答案 0 :(得分:0)
为了使分页工作,服务器端需要响应发送的参数。您必须使用动态生成的XML文件替换静态XML文件。该脚本需要识别分页参数(页面,限制,开始),除了数据之外,还必须返回total
和count
。
如果您不介意发送所有数据并且只想加快显示速度,请查看bufferedRenderer。
我刚刚注意到问题是关于sencha touch,我正在回答ExtJs 4.2。我不确定它是否对两者都有效。
答案 1 :(得分:0)
您应该在列表中使用ListPaging
插件。
{
xclass: 'Ext.plugin.ListPaging',
autoPaging: true,
loadMoreText : 'Loading more',
noMoreRecordsText : 'loaded'
}
请查看sencha touch文档以获取更多信息。