我有一种情况,在数据提供者更改后不会调用SelectedItem 下拉列表。 有没有办法检测是否发生了这种变化? 感谢
答案 0 :(得分:1)
Flex Framework中的每个公共属性都有一个'propertyChanged'事件,该事件是从属性集方法调度的。它们主要用于绑定目的,但通常不会正式记录。
DropDownList的dataProvider set方法确实调度了dataProviderChanged事件。代码是层次结构中的几个层,作为SkinnableDataContainer的一部分,或者如果“SkinnableDataContainer”的外观具有dataGroup,则从DataGroup调度它。
但是,这个事件可能不会通过MXML中的代码提示暴露出来。您必须在ActionScript中监听它:
myList.addEventListener('dataProviderChanged', onDataProviderChanged);
请记住,无论selectedItem属性发生什么变化,都会在dataProvider更改时调度此事件。
答案 1 :(得分:0)
您可以通过IndexChangeEvent收听DropDownList中selectedItem的更改,如下面的代码所示:
<s:DropDownList id="dl_mydl"
dataProvider="{dataProvider}"
change="dropDownListChangeHandler(event)"
/>
protected function dropDownListChangeHandler(event:IndexChangeEvent) : void
{
//DO SOMETHING
}