Sencha Touch List Paging: 限制店铺记录数
Posted
技术标签:
【中文标题】Sencha Touch List Paging: 限制店铺记录数【英文标题】:Sencha Touch List Paging: limit number of record of the store 【发布时间】:2013-07-08 06:49:30 【问题描述】:我在我的应用程序中使用 Sencha Touch List (xtype: list
) 和 listPaging 插件。
通过设置autopaging: true
,它就像创造无限效果的魅力。
但是,我的问题是,如何将商店的记录(或列表中的行)保存为某个数字,例如 50 条记录。
因此,当用户向下滚动时,自动加载下一页,同时删除上一个(当前)页面,并在向上滚动时加载上一页。
目标是限制商店的记录数量,因为如果它全部加载(通过继续向下滚动),它会使设备崩溃(在 Ipad 上测试)。
有道理,我在 db 上有 40k 条记录。
【问题讨论】:
你找到解决办法了吗? 我认为 listPaging 插件在这种情况下不会帮助你。您需要扩展它的功能以具有底部和 top “加载更多”标签和处理程序,因为如果您在向下滚动时清除一些数据,当您开始向上滚动时,您将需要重新加载该数据. 狩猎,不,还没有解决方案。 @pckill,我尝试基于 listPaging 构建插件,但事情搞砸了。到处都是错误。 【参考方案1】:昨天我正在做类似的事情,但只是使用下一个功能。
您可以重写动态加载新页面的方法。就是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()
希望对你有帮助-
【讨论】:
以上是关于Sencha Touch List Paging: 限制店铺记录数的主要内容,如果未能解决你的问题,请参考以下文章
选项卡式工具栏内的 Sencha Touch List 组件
使用 store sencha touch 2 将数据加载到 List
如何使 dataview.list 在 Sencha Touch 2 中可见?