Sencha Touch List Paging:限制商店记录的数量

时间:2013-07-08 06:49:31

标签: listview sencha-touch

我在我的应用上使用了Sencha Touch List(xtype: list)和listPaging插件。 通过设置autopaging: true,它就像创造无限效果的魅力一样。

但是,我的问题是,如何将商店的记录(或列表中的行)保存到某个数字,例如50条记录。

因此,当用户向下滚动时,自动加载下一页,同时删除上一页(当前页),然后向上滚动,加载上一页。

目标是,限制商店的记录数量,因为如果它全部加载(通过向下滚动),它会崩溃设备(在Ipad上测试)。

这是有道理的,我在db上有40k的记录。

1 个答案:

答案 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()

希望有所帮助 -