是否有下拉列表的dataProviderChange事件?

时间:2012-03-21 14:01:02

标签: actionscript-3 flex flex4.5 flex-spark

我有一种情况,在数据提供者更改后不会调用SelectedItem 下拉列表。 有没有办法检测是否发生了这种变化? 感谢

2 个答案:

答案 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
}