Я хочу обновить магазин combobox всякий раз, когда есть изменение в выпадающем списке и отображает это измененное хранилище. Мой магазин загружается, но combobox не отображает его. Я могу отображать локальный магазин, как я хочу отображать, но не могу сделать то же самое для удаленного хранилища json.Загрузился магазин Combobox, но не отобразится
У меня есть "ProcessController", как это:
onComboboxChange: function(combo, newValue, oldValue) {
var upContainer = combo.up('container');
if(combo.itemId == "cmbServiceList") {
MyApp.app.globals.cmbServiceStore = this.createServiceCmbStore(upContainer.getComponent('cmbServiceList').getRawValue());
}
},
createServiceCmbStore: function(inputData){
var data = {"inputData": inputData};
var mainController = MyApp.app.getController('MainController');
var cmbServiceData = mainController.callService(data,'getServices','json');
var classServices = Ext.JSON.decode(cmbServiceData);
var projectStore = Ext.create('Ext.data.Store', {
fields: ['key', 'text'],
data: classServices
});
return projectStore;
}
init: function(application) {
this.control({
'combobox': {
change: this.onComboboxChange
}
});
_myAppGlobal = this;
},
И это мой выпадающий в главном окне просмотра:
{
xtype : 'combobox',
anchor : '80%',
listConfig : {
loadingText : 'Searching...',
emptyText : 'No matching posts found.'
},
typeAhead : true,
itemId : 'cmbServiceList',
fieldLabel : 'Servis Adı:',
hideTrigger : true,
displayField : 'text',
store : MyApp.app.globals.cmbServiceStore,
valueField : 'key',
minChars : 1,
queryMode : 'local',
forceSelection: true
}
MyApp.app.globals.cmbServiceStore
глобальная переменная, определенная в app.js
When Я отлаживаю код, я вижу, что магазин загружен, но он не будет отображать какое-либо сохраненное значение в combobox.
, если (combo.itemId == "cmbServiceList") { \t \t MyApp.app.globals.cmbServiceStore = this.createServiceCmbStore (upContainer.getComponent ('cmbServiceList') getRawValue().); upContainer.getComponent ('cmbServiceList'). BindStore (MyApp.app.globals.cmbServiceStore); \t} вместо , если (combo.itemId == "cmbServiceList") { MyApp.app.globals.cmbServiceStore = this.createServiceCmbStore (upContainer.getComponent ('cmbServiceList') getRawValue().); } решена проблема. –
опубликуйте это как ответ :) это нечитаемо, и это на самом деле ответ, может быть, он может помочь другим с подобными проблемами – VDP
Прости, что я пробовал, но на сайте говорится: «Вы не можете ответить на свой вопрос через 8 часов» –