我需要在DropDownList上实现多字符类型提前功能。我使用火花组件Flex 4.5.1。
我希望长列表例如我输入bl
它会转到蓝色而不是第一个B然后是第一个L
这是一个常见的要求,所有浏览器现在都支持它,希望它已经存在或有人定制了版本。
答案 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 ));
}
}
}
您可以更改文本操作处理程序以选择刷新后的第一个项目。不确定它的效果如何。