Комбо-боксы во Flex действительно неудобны в использовании, если в моем опыте есть объекты, к которым обращаются свойства.В Flex 3.5 у нас было рабочее расширение поля со списком, которое заполняло бы свойство selectedValue
(и позволяло бы изменять selectedIndex
на то же самое).
Вот краткий пример того, как использование одного из них выглядит:
<c:ValueComboBox valueField="country_code">
<mx:Script>
<![CDATA[
public function get selectedCountry(): String {
return this.selectedValue; // This property is added by ValueComboBox
}
public function set selectedCountry(v: String): void {
this.selectedValue = v;
}
]]>
</mx:Script>
<c:dataprovider>
<mx:ArrayCollection>
<mx:Object label="Canada" country_code="ca"/>
<!-- ... -->
</mx:ArrayCollection>
</c:dataprovider>
</c:ValueComboBox>
Однако во Flex 4 это перестало работать. Происходит то, что наш существующий компонент претерпел изменения благодаря переопределению функции set selectedIndex()
, которая больше не вызывается при изменении выбранного индекса поля со списком(wtf?).
Существует ли работающая реализация комбинированного списка с учетом значений для Flex 4?
Для информации, вот класс со списком базовых значений.https://gist.github.com/5639c7b2439b03748e2e