2014-10-30 53 views
0

我有一個角色組合框,其中已經有3個項目(加載用戶模型)。現在我需要將第4項添加到選區,但它不保留當前項目,並且當我添加第4項時,它將成爲組合中唯一選定的項目。Extjs保持組合中的當前選擇項並添加新項目

是否有無法實現這種行爲? 我的柵格記錄選擇這樣

doSelectUser: function(grid, record) { 
     var me = this; 
     var selectedRoleVals = record.get('roles'); 
     me.getUserForm().loadRecord(record); 

然後我點擊用戶表單組合框中:

manageusers userform combobox[name=roles]': { 
       select: this.doSelectRole 
      } 

二合一處理器

doSelectRole: function(combo, records) { 
     var me = 
     var rec = records[0]; 
+0

你是如何裝在組合的商店完全記錄? – 2014-10-30 17:28:22

回答

0

我懷疑你正在做的事情一樣

combo.getStore().loadRecords(arrayOfRecords); 

你需要做

combo.getStore().loadRecords(arrayOfRecords, {addRecords: true}); 

loadRecords默認覆蓋店用新的數據內容。

並以一個簡單的記錄添加到您的組合框

Ext.ComponentQuery.query('combo[itemId=theComboItemId]')[0].getStore().add({value: 'aRoleValue', displayText: 'A new role'}); 
+0

謝謝弗朗西斯。也許我沒有清楚描述我的情況。在我的用戶表單中,我可以用這行代碼訪問角色var selectedRoleValuesFromUserModel = record.get('roles');現在我想添加項目到這個列表,但我不能在我的組合處理程序中訪問它們。我會編輯一下這個問題。 – sina 2014-10-31 09:28:51

+0

@sina我編輯了我的答案。希望能夠回答它。我不知道角色的模型定義,所以我不能那麼精確。 – 2014-10-31 14:15:49

相關問題