Flex comboBox数据过滤
我看了 好几个例子 一个是http://yunzhongxia.iteye.com/blog/533998
private function searchKeyWord(keyWord:String):void{
var dp:ArrayCollection=filterData(ac);
//当数据源改变的时候
if(dp.length>0){
dataProvider=dp;
dropdown.selectedIndex=-1;
dropdown.verticalScrollPosition=0;
textInput.setFocus();
//注意先设置关键字被选中后打开下拉列表
textInput.selectRange(keyWord.length,keyWord.length);
open();
}else{
dataProvider=ac;
textInput.text="";
selectedIndex=-1;
close();
}
}
另一个是 http://topic.csdn.net/u/20080823/21/89cf0f31-7294-43ce-9540-d5d2288b1e63.html
//过滤数据
private function FilterByKey(event:Event):void{
this._dataAC.filterFunction = filterk;
var tempstr:String = this.text;
if(this._dataAC.refresh()){
this.dropdown.selectedIndex = -1;
this.dropdown.verticalScrollPosition = 0;
this.text = tempstr;
this.open();
this.textInput.setFocus();
}
这两个例子 或者其他例子 都有一个共同的bug,就是输入一个单词 不能继续输入 第二个单词
原因是dataProvider赋值之后会默认将第一个值填入textInput中,我想问下高手这个要怎么解决?
就是要像百度输入查找的时候 每次输入接连过滤数据