我想要做的是用下面的参数装载商店,所以我只得到商店的前十件商品。
app.stores.actualites.load({
params : {
start:0,
limit:10,
},
callback : function(records, operation, success) {
app.loadmask.hide();
}
});
但这不起作用,它会返回所有18个商店商品。
如果我将开始参数设置为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();
}
});
答案 0 :(得分:1)
分页功能必须在服务器端实际实现。 Sencha只会维护页面,并会向您发送正确的start
和limit
值。您需要在服务器端脚本中访问这些值,并根据这些值返回适当的结果。
如果您使用的是列表,那么您可以使用Sencha的内置ListPaging插件来处理自己的start / limit参数。
答案 1 :(得分:0)
这可能听起来很奇怪,但我在客户端和服务器上更改为“限制”的名称“停止”,并且它有效...
答案 2 :(得分:0)
应该是这样的:
app.stores.actualites.getProxy().setExtraParams({
start:1,
limit:2
})