我在我的应用上使用了Sencha Touch List(xtype: list
)和listPaging插件。
通过设置autopaging: true
,它就像创造无限效果的魅力一样。
但是,我的问题是,如何将商店的记录(或列表中的行)保存到某个数字,例如50条记录。
因此,当用户向下滚动时,自动加载下一页,同时删除上一页(当前页),然后向上滚动,加载上一页。
目标是,限制商店的记录数量,因为如果它全部加载(通过向下滚动),它会崩溃设备(在Ipad上测试)。
这是有道理的,我在db上有40k的记录。
答案 0 :(得分:2)
昨天我正在研究这样的事情,但只有下一个功能。
您可以覆盖即时加载新页面的方法。它是 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 });
}
}
}
]
这仅适用于下一步,对于上一页可能会稍微复杂一点,但也许这可以提供一个想法。可能会在列表顶部添加另一个cmp,触发store.previousPage()
希望有所帮助 -