actionscript 3 自动化 DropDownList

actionscript 3 automating DropDownList

我想在提供 DropDownList id 和项目索引时自动执行 DropDownList。 我可以在该对象上获取 DropDownList 对象 我可以将 selectedIndex 设置为

dropDownObject.selectedIndex=index;

这可以将 DropDownList 选定项更改为指定的索引项,但是当我在 IndexChangeEvent 对象上调度 "change" 事件时,它给出了 typeCoersion 错误。

can not convert spark.events::IndexChangeEvent@138445 to spark.events.IndexChangeEvent

根据你的问题,我假设你想了解下拉列表选择的变化。

不要发送 change 事件,在这种情况下,您应该监听 valueCommit 事件而不是 change 事件。 valueCommit 事件设计为在所选索引以编程方式或通过用户交互发生更改时触发。

直接取自文档:

valueCommit

Dispatched when values are changed programmatically or by user interaction.

所以,做这样的事情:

<s:DropDownList valueCommit="changeHandler(event)" dataProvider="{yourData}" id="dropDown"/>

希望这对您有所帮助。

我通过设置解决了这个问题

dropDownListObject.selectedIndex = providedIndex  

调用后

dropDownListObject.closeDropDown(true)

到目前为止我这样做并解决了问题

dropDownListObject.openDropDown();
dropDownListObject.selectedIndex = providedIndex;
dropDownListObject.closeDropDown(true);
dropDownListObject.selectedIndex = providedIndex;

我漏掉了最后一行,这导致将 selectedIndex 设置为默认值。