2013-11-25 16 views
6

我有一個phonegap包裝sencha觸摸(v1.1.1)應用程序,有幾個商店,和一個列表。商店/列表不重新加載Sencha 1.1.1

問題你登錄後,如「用戶1」,然後註銷並重新登錄,如「用戶2」發生。該列表不會使用商店代理獲取的新帳戶數據進行刷新。

我目前正在試圖調用.refresh()List本身,它根據文檔也將導致實體店刷新其數據(雖然,我手動這樣做,反正手前)

var sL = Ext.getCmp('AccountsList'); 
sL.refresh(); 
sL.scroller.scrollTo({x:0,y:0}); 

我們也試圖.sync()沒有結果的商店。

Ext.getStore('AccountsTransfersTo').sync(); 
Ext.getStore('AccountsTransfersFrom').sync(); 
Ext.getStore('AccountsStore').sync(); 

任何想法是什麼問題或有人遇到類似的東西?

回答

3

refresh將不會重新加載商店,它只是抓住商店中的任何東西並重新呈現視圖。

sync用於在您進行本地更改並將它們發佈到服務器時更新商店。

您需要在商店中調用load方法。

+0

這就是爲什麼我問的代碼的例子,你需要重新創建商店,或者完全清空商店,而不需要同步調用,或者只是簡單地重新創建它:) – Sangoku

+0

不,你需要做的就是觸發一個負載。它向服務器發出一個請求,當它返回時,它將觸發列表偵聽的事件,並且它將自行刷新。 –

0

你可能每次

var sL = Ext.getStore('AccountsTransfersTo') 
sL.load(); 
sL.scroller.scrollTo({x:0,y:0}); 

裝載存儲,或者你可以嘗試清除數據的形式存儲和重新加載它

var sL = Ext.getStore('AccountsTransfersTo') 
sL.removeAll(); 
sL.load(); 
sL.scroller.scrollTo({x:0,y:0}); 
+0

請記住,我正在使用Sencha 1.1.1 - 列表中沒有'removeAll()'或'load()'方法。 – ahren

相關問題