在spark组合框中选择光标移动到起始位置?

时间:2012-08-27 11:58:18

标签: flex flex4 flex4.5 flex-spark

我有一个。我提供arraylist作为其数据提供者。我的问题是当我使用回车键选择任何项目时移动到ing位置的原因。此外,当我从键盘按空格键时,再次移动到位置。我怎样才能解决这个问题?感谢

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。

1 个答案:

答案 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); 
    }     
}

道歉,如果代码不完美,但理论应该是正确的。