我从PhoneGap
获取联系人数据并显示在Sencha Touch
列表视图中。我正在使用ListPagination
插件在滚动条到达时加载数据。
但问题是ListPagination
仅适用于远程数据,因此pageSize
属性适用于该情况。
但是我在这里将PhoneGap
的数据存储到一个数组中并使用它加载它
Ext.getStore('ContactStore').setData(arr)
。
那么Sencha Touch
有什么方法可以使用ListPagination
在本地执行分页吗?
答案 0 :(得分:0)
尝试覆盖商店的load
方法,仅使用整个数组的子集调用其setData()
。
在派生商店类中:
Ext.define('App.store.XXX', {
extend: 'Ext.data.Store',
config: {
storeId: 'xxx',
mypage: 0, // use this as 'cursor' in your array
pageSize: 10,
model: 'App.model.XXX',
...
},
load: function() {
this.mypage += 1;
// maybe add some sanity check on array dimension
this.setData(Ext.Array.slice(arr, 0, this.mypage*this.getPageSize()));
}
});
我没有测试上面的代码。把它作为解决方案的“想法”。
答案 1 :(得分:0)
我找到了一个从Sencha Touch 2.4中的数组中获取分页列表的解决方案。 诀窍是挂钩beforeload - 商店的事件,并从数组中设置数据的和平。
在这里您可以找到代码:http://www.soft4tec.de/development/sencha-touch/list-paging-with-array-store.html