Sencha触摸列表分页:限制商店的记录数量



我在我的应用程序上使用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

希望它能有所帮助-

最新更新