Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Отобразить Combobox (https://javascript.ru/forum/extjs/48546-otobrazit-combobox.html)

adamenko.artem 08.07.2014 11:33

Отобразить Combobox
 
Есть отдельное окно и
var comboCurrentRoutes = Ext.create('Ext.form.ComboBox', {
                                            fieldLabel: 'Выберите маршрут...',
                                            store: storeCurrentRoutes,
                                            queryMode: 'local',
                                            displayField: 'name',
                                            valueField: 'id',
                                            renderTo: Ext.getBody()
                                        });

мне надо отобразить в мое окно этот комбобокс...
т.е. проблема в отображении..или сразу создать в меню комбобокс и прилепить как-то туда стор или вот как описал выше и отрендерить в меню как-то..

adamenko.artem 08.07.2014 14:28

комбо я отобразил.но появилась следующая проблема.т.к. я в конструкторе окна вызываю аякс для запроса данных а тем временем окно рисуется, то видимо при первом открытии окна комбо пустой потому что запрос еще не возвращается..а если сразу открыть окно второй раз то комбо заполненный.как мне решить эту проблему?видимо или в конструкторе комбо создать как выше и отрендерить в меню или в комбо который сейчас создается в меню и берет стор, как-то обновить после загрузки стора

novikov 08.07.2014 16:51

Попробуйте определить для комбобокса параметр listeners и загрузить данные в стор после отрисовки комбобокса.

var comboCurrentRoutes = Ext.create('Ext.form.ComboBox', {
                                            fieldLabel: 'Выберите маршрут...',
                                            store: storeCurrentRoutes,
                                            queryMode: 'local',
                                            displayField: 'name',
                                            valueField: 'id',
                                            renderTo: Ext.getBody(),
                                            listerners: {
                                                afterrender: function(combo) {
                                                     combo.getStore().load();
                                                }
                                            }
                                        });


http://docs.sencha.com/extjs/5.0.0/a...nt-afterrender


Часовой пояс GMT +3, время: 09:20.