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
答案 0 :(得分:2)
Flex 4 ComboBox现在使用userProposedSelectedIndex
属性来存储所选索引的时间值,直到ComboBox关闭。然后,selectedIndex属性不会使用selectedIndex
设置,而是使用以下签名调用setSelectedIndex
方法:
mx_internal function setSelectedIndex(value:int, dispatchChangeEvent:Boolean = false):void
我建议你应该覆盖这个方法,以确保选择的索引设置正确。
希望这有帮助。