Я пытаюсь установить selectedItem на comboBox (mx). Ниже приводится код:Установить SelectedItem в Flex Combobox, когда Combobox не отображается?
callLater(function():void {
if (comboBox.dataProvider && comboBox.dataProvider.length > 0) {
comboBox.selectedItem = comboBox.dataProvider.getItemAt(0);
}
});
EDIT: Я программно создать ComboBoxes:
var comboBox:ComboBox = new ComboBox();
Это прекрасно работает и устанавливает SelectedItem к первому элементу от поставщика данных - , но только если выпадающий является отображается на экране и не скрывается в складной группе.
У меня есть ситуации, когда я могу иметь выпадающий заключенный внутри группы складном (мой собственный компонент) и не отображается до тех пор, сложенную группа не расширяется (см изображения ниже)
Первое изображение: Когда группы свернуты и выпадающий не отображается, но создается
Второе изображение: когда свернутый группа расширяется, чтобы отобразить выпадающий - обратите внимание, что первый элемент в DataProvider не выбран в качестве SelectedItem
следующая строка всегда выполняется
comboBox.selectedItem = comboBox.dataProvider.getItemAt(0);
Но первый элемент не выбран в том случае, когда выпадающий заключен в свернутой группе - отлично работает, когда выпадающий заключен в расширенной группе.
Я думаю, что это ошибка в flex - если кто-то не подумает иначе?
Я создаю ComboBoxes программно - есть ли способ обработать updatecomplete в этом случае? – Ved
Вы можете добавлять и удалять прослушиватели событий, например: 'comboBox.addEventListener (FlexEvent.UPDATE_COMPLETE, handleUpdateComplete);' – Marjolein
Спасибо @MarjoleinKleinman - вот что я сделал. Я использовал CREATION_COMPLETE, потому что на UPDATE_COMPLETE я не могу выбрать какое-либо другое значение из Combo (при выборе, UPDATE_COMPLETE снова срабатывает и снова выбирает первый элемент) – Ved