我正在尝试在组合框(mx)上设置 selectedItem。以下是代码:
callLater(function ():void {
if (comboBox.dataProvider && comboBox.dataProvider.length > 0) {
comboBox.selectedItem = comboBox.dataProvider.getItemAt(0);
}
});
编辑:我正在以编程方式创建组合框:
var comboBox:ComboBox = new ComboBox();
这可以正常工作并将 selectedItem 设置为数据提供者的第一项 -但仅当组合框显示在屏幕上且未隐藏在可折叠组中时。
我有一种情况,我可能将组合框包含在可折叠组(我自己的组件)中,并且在展开折叠组之前不显示(见下图)
第一个图像:当组折叠并且组合框未显示但已创建时
第二张图片:当展开折叠的组以显示组合框时 - 请注意 dataprovider 中的第一个元素未选择为 selectedItem
以下行总是被执行
comboBox.selectedItem = comboBox.dataProvider.getItemAt(0);
但是,当组合框包含在折叠组中时,不会选择第一项 - 当组合框包含在展开组中时可以正常工作。
我认为这是 flex 中的一个错误——除非有人不这么认为?