Sencha touch 使用参数加载存储
我要做的是用下面的参数加载store,这样我只会得到我的store的前十项Sencha touch 使用参数加载存储,sencha-touch,store,Sencha Touch,Store,我要做的是用下面的参数加载store,这样我只会得到我的store的前十项 app.stores.actualites.load({ params : { start:0, limit:10, }, callback : function(records, operation, success) { app.loadmask.hide(); } }); 但这不起作用,它会返回所有18个商店项目 如果
app.stores.actualites.load({
params : {
start:0,
limit:10,
},
callback : function(records, operation, success) {
app.loadmask.hide();
}
});
但这不起作用,它会返回所有18个商店项目
如果我将start参数设置为1,它将返回17项,因此这个参数工作,而另一个参数不工作
更新:存储代码
app.stores.actualites = new Ext.data.Store({
model: 'app.models.Actualites',
proxy: {
type: 'ajax',
url: app.stores.baseAjaxURL + '&jspPage=%2Fajax%2FlistActualites.jsp',
reader: {
type: 'json',
root: 'actualite',
successProperty: 'success',
totalProperty: 'total',
idProperty: 'blogEntryInfosId'
}
}
});
奇怪的是,当我在浏览器中尝试URL并添加&start=0&limit=1时,效果很好
更新:尝试使用extraParams
我也尝试过使用extraParams,但仍然不起作用
app.stores.actualites.getProxy().extraParams.start = 1;
app.stores.actualites.getProxy().extraParams.limit = 2;
app.stores.actualites.load({
callback : function(records, operation, success) {
app.loadmask.hide();
}
});
分页功能必须在服务器端实际实现。Sencha将只维护页面,并向您发送正确的
start
和limit
值。您需要在服务器端脚本中访问这些值,并根据这些值返回适当的结果
如果您使用的是列表,那么您可以使用Sencha的内置ListPaging插件,该插件本身负责start/limit参数。这听起来可能有点奇怪,但我将参数“limit”的名称改为在客户端和服务器上“stop”,它工作了……应该是这样的:
app.stores.actualites.getProxy().setExtraParams({
start:1,
limit:2
})
您能给出在服务器上处理此加载请求的代码吗?是的,但当我添加&start=0&limit=1时,它在浏览器上运行良好。。。看到我的updateOk,我想,因为store load()函数接受代理配置,所以需要使用“extraParams”而不是“params”。