protected function onInputKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == 13)
{
AddPath(cb.textInput.text);
cb.dataProvider = recentList;
}
}
这里recentList是一个Bindable ArrayList。每当我在ComboBox中输入任何内容并按Enter键时,光标移动到ComboBox文本区域的开头。 AddPath函数只是将新数据添加到recentList。
答案 0 :(得分:0)
设置cb.dataProvider = recentList;你实际上是在指定一个新指针,它会覆盖前一个列表并重置光标。
您应该能够创建包含所选项目的变量,并在执行cb.dataProvider = recentList后,在单击/输入时手动将ComboBox设置为该项目。
protected function onInputKeyDown(e:KeyboardEvent):void
{
if(e.keyCode == 13)
{
var selectedItem:String = cb.selectedItem
AddPath(cb.textInput.text);
cb.dataProvider = recentList;
cb.selectedItem(selectedItem);
}
}
道歉,如果代码不完美,但理论应该是正确的。