comboBox(mx)にselectedItemを設定しようとしています。以下はコードです:
callLater(function ():void {
if (comboBox.dataProvider && comboBox.dataProvider.length > 0) {
comboBox.selectedItem = comboBox.dataProvider.getItemAt(0);
}
});
編集:私はプログラムでコンボボックスを作成しています:
var comboBox:ComboBox = new ComboBox();
これは正常に機能し、selectedItemをデータプロバイダーからの最初のアイテムに設定します。ただし、コンボボックスが画面に表示され、折りたたみ可能なグループ内に非表示になっていない場合に限ります。
コンボボックスが折りたたみ可能なグループ(自分のコンポーネント)に囲まれていて、折りたたまれたグループが展開されるまで表示されない場合があります(下の画像を参照)
最初の画像:グループが折りたたまれ、コンボボックスが表示されずに作成された場合
2番目の画像:折りたたまれたグループが展開されてコンボボックスが表示される場合-データプロバイダーの最初の要素がselectedItemとして選択されていないことに注意してください
次の行は常に実行されます
comboBox.selectedItem = comboBox.dataProvider.getItemAt(0);
ただし、コンボボックスが折りたたまれたグループで囲まれている場合、最初の項目は選択されません。コンボボックスが展開されたグループで囲まれている場合は正常に機能します。
これはフレックスのバグだと思います-誰かが別のことを考えない限り?