Flex Type Ahead DropDownList

时间:2011-06-22 20:02:55

标签: flex drop-down-menu adobe

我需要在DropDownList上实现多字符类型提前功能。我使用火花组件Flex 4.5.1。

我希望长列表例如我输入bl

它会转到蓝色而不是第一个B然后是第一个L

这是一个常见的要求,所有浏览器现在都支持它,希望它已经存在或有人定制了版本。

2 个答案:

答案 0 :(得分:2)

为什么不使用具有内置类型提前功能的Flex Spark ComboBox

答案 1 :(得分:1)

您可以自定义众多自动填充中的一种。我在另一个关于如何进行自动填充的问题中发布了以下代码段。

package autoCompleteExample
{
import mx.collections.ICollectionView;
import mx.collections.IList;    
import spark.components.ComboBox;
import spark.events.TextOperationEvent;

public class AutoCompleteExample extends ComboBox
{   
    override protected function textInput_changeHandler(event:TextOperationEvent):void{
        super.textInput_changeHandler(event);
        ICollectionView(dataProvider).refresh();
    }       
    override public function set dataProvider(value:IList):void{
        ICollectionView(value).filterFunction = defaultFilterFunction;
        super.dataProvider = value;
    }       
    private function defaultFilterFunction(item:Object):Boolean{
        return (textInput.text.toLowerCase() == String(item[labelField].toLowerCase()).substr( 0, textInput.text.length ));
    }
}
}

您可以更改文本操作处理程序以选择刷新后的第一个项目。不确定它的效果如何。