0

如何store在sencha touch中的selectfield,這樣當選擇一個字段時,任何方法使用的值,但是當頁面刷新時,它會自動選擇上一個選擇。記住selectfield sencha touch

我的代碼:

  { 
       xtype: 'fieldset', 
       items: [{ 
        xtype: 'selectfield', 
        id: 'remem', 
        label: 'MY Label', 
        store: 'remem', 
        options: [ 
        { 
         text: 'Option1', 
         value: 'a' 
        }, 
        { 
         text: 'Option2', 
         value: 'b' 
        }] 
}] 
} 
+0

@ jenson-button-event這是什麼? – developer 2015-02-08 20:11:49

回答

1

@developer,@jenson和我所提出的建議,你應該保存的值在cookie所以價值瀏覽器之間的持續刷新。如果我記得正確的話,Extjs會在公用程序命名空間中提供一個cookie管理器類。

編輯

對於煎茶觸摸,你實際上應該利用localStorage的代理按照該文檔here 有一個在文檔展示如何保存用戶特定信息進行檢索以後(刷新後,等)的例子

我實際上是通過將我的應用程序中的用戶顯示首選項保存在自己的應用程序中,因此當他們下次登錄UI時就像他們離開它一樣。

商店:

Ext.define('MyApp.store.UserPreferencesStore', { 
    extend: 'Ext.data.Store', 

    requires: [ 
     'MyApp.model.UserPreferencesModel', 
     'Ext.data.proxy.LocalStorage' 
    ], 

    config: { 
     model: 'MyApp.model.UserPreferencesModel', 
     storeId: 'UserPreferencesStore', 
     proxy: { 
      type: 'localstorage', 
      id: 'userpreferences' 
     } 
    } 
}); 

型號

Ext.define('MyApp.model.UserPreferencesModel', { 
    extend: 'Ext.data.Model', 

    requires: [ 
     'Ext.data.Field' 
    ], 

    config: { 
     fields: [ 
      { 
       name: 'userPrefKey' 
      }, 
      { 
       name: 'userPrefValue' 
      } 
     ] 
    } 
}); 

有了這個設置,您可以添加一條記錄,你通常會爲任何其他店做

store.add({userPrefKey: '01-showMap', userPrefValue: true}); 

或編輯exi蜇條目

rec = store.findRecord('userPrefKey','01-showMap'); 
rec.set('userPrefValue',false); 

您還必須調用同步()在商店時,你要保存更改,並檢索從本地存儲保存的記錄只需要調用load()方法像任何其他商店。

請注意,我的代碼是爲Touch 2.3編寫的,所以它在最新的2.4.x版本中可能會略有變化。但是,這應該會讓你走上正軌。

+0

請給出一個代碼視圖示例。 – developer 2015-02-09 09:14:26

+0

查看我的最新編輯 – mindparse 2015-02-09 10:01:05

0

將選擇字段值存儲到localstorage中,並在刷新頁面時將該值分配給selectField。所以你會得到以前選定的值。

+0

請給出一個代碼視圖示例。 – developer 2015-02-13 15:39:05