2013-04-07 81 views
0

嗨,我有一個應用程序,使用代理填充商店。我想單擊按鈕清除商店,並讓用戶輸入不同的信息並重新填充,如果有意義的話。我目前使用:清除存儲sencha

window.location.reload(); 

但這給了幾秒鐘的白色屏幕,這是不好的。我也曾嘗試以下操作:

var store = Ext.getStore('Places'); 

store.getProxy().clear(); 

store.data.clear(); store.sync(); 

但這給出了與.getProxy()

錯誤我也嘗試:

Ext.StoreMgr.get('Places').removeAll(); 
Ext.StoreMgr.get('Places').sync(); 

但是當我去重新填充舊數據仍然存在。有沒有辦法清除商店?

+0

'VAR店= Ext.getStore( '鄰居'); store.removeAll();'不工作? – SachinGutte 2013-04-08 03:02:36

+0

我認爲這個問題可能是因爲我的selectfields沒有返回到它們的初始值。並且當用戶再次搜索時,相同的參數被傳回。我嘗試用下列方法清除它們,但沒有成功:var visitEmpty = this.getVisit()。setValue('food | restaurant |'); var location = this.getLocation()。setValue('currentlocation'); var radiusEmpty = this.getRadius()。setValue('1'); – paulpwr 2013-04-08 16:14:49

回答

4

清除存儲的最佳方式是

  var store = Ext.getStore('SessionStore'); 
     store.load(); 
     store.getProxy().clear(); 
     store.data.clear(); 
     store.sync(); 
+0

嗨,我已經嘗試了上述,我得到錯誤消息未捕獲TypeError:對象[對象對象]沒有方法'明確' – paulpwr 2013-04-08 14:42:17

+0

我認爲這個問題可能與我的selectfields沒有返回到它們的初始值。並且當用戶再次搜索時,相同的參數被傳回。我嘗試用下列方法清除它們,但沒有成功:var visitEmpty = this.getVisit()。setValue('food | restaurant |'); var location = this.getLocation()。setValue('currentlocation'); var radiusEmpty = this.getRadius()。setValue('1'); – paulpwr 2013-04-08 16:12:06