Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 dropdownlist是否有dataProviderChange事件?_Actionscript 3_Apache Flex_Flex4.5_Flex Spark - Fatal编程技术网

Actionscript 3 dropdownlist是否有dataProviderChange事件?

Actionscript 3 dropdownlist是否有dataProviderChange事件?,actionscript-3,apache-flex,flex4.5,flex-spark,Actionscript 3,Apache Flex,Flex4.5,Flex Spark,我遇到过这样一种情况,即在数据提供程序更改后,不会调用SelectedItem 投递名单。 有没有办法检测是否发生了这种变化? 谢谢您可以通过以下代码收听下拉列表中selectedItem的更改: <s:DropDownList id="dl_mydl" dataProvider="{dataProvider}" change="dropDownListChangeHandler(event)" /> protected function dropDownListChang

我遇到过这样一种情况,即在数据提供程序更改后,不会调用SelectedItem 投递名单。 有没有办法检测是否发生了这种变化?
谢谢

您可以通过以下代码收听下拉列表中selectedItem的更改:

<s:DropDownList id="dl_mydl"
  dataProvider="{dataProvider}"
  change="dropDownListChangeHandler(event)"
/>

protected function dropDownListChangeHandler(event:IndexChangeEvent) : void
{
 //DO SOMETHING
}

受保护的函数dropDownListChangeHandler(事件:IndexChangeEvent):无效
{
//做点什么
}

您可以通过以下代码收听下拉列表中selectedItem的更改:

<s:DropDownList id="dl_mydl"
  dataProvider="{dataProvider}"
  change="dropDownListChangeHandler(event)"
/>

protected function dropDownListChangeHandler(event:IndexChangeEvent) : void
{
 //DO SOMETHING
}

受保护的函数dropDownListChangeHandler(事件:IndexChangeEvent):无效
{
//做点什么
}

Flex框架中几乎每个公共属性都有一个“propertyChanged”事件,该事件是从properties set方法发送的。它们主要用于绑定目的,但通常没有正式的文档记录

DropDownList的dataProvider set方法确实会分派dataProviderChanged事件。代码是层次结构中的几层,作为SkinnableDataContainer的一部分,或者如果“SkinnableDataContainer”的皮肤有一个数据组,那么它将从该数据组中调度

但是,此事件可能不会通过MXML中的代码暗示公开。您必须在ActionScript中收听:

myList.addEventListener('dataProviderChanged', onDataProviderChanged);

请记住,无论selectedItem属性发生什么变化,当数据提供程序更改时,始终会调度此事件

Flex框架中几乎每个公共属性都有一个“propertyChanged”事件,该事件是从properties set方法发送的。它们主要用于绑定目的,但通常没有正式的文档记录

DropDownList的dataProvider set方法确实会分派dataProviderChanged事件。代码是层次结构中的几层,作为SkinnableDataContainer的一部分,或者如果“SkinnableDataContainer”的皮肤有一个数据组,那么它将从该数据组中调度

但是,此事件可能不会通过MXML中的代码暗示公开。您必须在ActionScript中收听:

myList.addEventListener('dataProviderChanged', onDataProviderChanged);

请记住,无论selectedItem属性发生什么变化,当数据提供程序更改时,始终会调度此事件

“SelectedItem”不被调用是什么意思?请详细说明。提供代码或更好的解释,我们可以帮助您。selectedIndex setter应始终被调用并设置为-1。列表组件总是有点错误。(但是,同样,也应该调用dataProvider setter)不调用“SelectedItem”是什么意思?请详细说明。提供代码或更好的解释,我们可以帮助您。selectedIndex setter应始终被调用并设置为-1。列表组件总是有点错误。(但同样,也应调用dataProvider setter)