Sencha Touchを使用してメールのようなアプリを作成しており、ナビゲーションパネルにNestedListウィジェットを使用しています。
- 受信トレイ
- mail1
- mail2
- mail3
- 送信トレイ
受信トレイにはメールがたくさんある可能性があるので、オンデマンドでロードしたいと思います。ユーザーがリストの最後までスクロールすると、次の10個のアイテムが自動的にロードされ、新しいアイテムがリストに追加されます。
どうすればこれを達成できますか?
Sencha Touchを使用してメールのようなアプリを作成しており、ナビゲーションパネルにNestedListウィジェットを使用しています。
受信トレイにはメールがたくさんある可能性があるので、オンデマンドでロードしたいと思います。ユーザーがリストの最後までスクロールすると、次の10個のアイテムが自動的にロードされ、新しいアイテムがリストに追加されます。
どうすればこれを達成できますか?
Sencha TouchはExtJSと多くのコードを共有しているため、ExtJSのさまざまなliveGrid実装を確認することで、これを実現する方法を理解できるかもしれません。これは、基本的に作成しているものだからです。
これは私が使用した中で最も安定した包括的なライブグリッドです:http: //www.ext-livegrid.com/
次のようなことを試すことができます。
var loadingItems = false;
var fetchItems = function () {
//fetch new items to add
loadingItems = false;
};
//nestedList: reference to the nestedList
//x: new x position
//y: new y position
var scrollListener = function(nestedList, x, y) {
//set some boundary for where we should start loading data
var screenBottom = nestedList.getHeight() - OFFSET;
//if we're within some region near the bottom of the list...
if((y >= screenBottom) && !loadingItems) {
loadingItems = true;
fetchItems();
}
};
nestedList.addListener("move", scrollListener);