我在我的应用程序上使用Sencha Touch List(xtype: list
),带有listPaging插件。通过设置autopaging: true
,它就像一个创造无限效果的符咒。
但是,我的问题是,如何将商店的记录(或列表上的行)保存为某个数字,例如50条记录。
所以,当用户向下滚动时,自动加载下一页,同时删除上一页(当前),向上滚动时,加载上一页。
目标是限制商店的记录数量,因为如果它全部加载(通过向下滚动),就会导致设备崩溃(在Ipad上测试)。
这很有道理,我在数据库上有4万条记录。
昨天我在做类似的事情,但只涉及下一个功能。
您可以覆盖动态加载新页面的方法。它是loadNextPage()并在请求下一页之前添加store.removeAll()。
在您的列表中:
plugins: [
{
type: 'listpaging',
autoPaging: true,
noMoreRecordsText: null,
loadMoreText: null,
loadNextPage: function() {
var me = this;
if (!me.storeFullyLoaded()) {
me.getList().getStore().removeAll();
me.getList().setMasked(true);
me.getList().getStore().nextPage({ addRecords: true });
}
}
}
]
这只适用于下一个,对于上一个能会稍微复杂一点,但这可能会给出一个想法。可能会在触发store.previousPage()的列表顶部添加另一个cmp
希望它能有所帮助-