亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Flex > 正文

FLEX 仿Google聯想框效果

2024-09-12 17:51:23
字體:
來源:轉載
供稿:網友
首先是事件源,也就是從何而起,如下的一個輸入框:
復制代碼 代碼如下:

<mx:FormItem label="集團客戶:" width="42%">
<!--change1-->
<mx:TextInput id="txtAssociation" width="235" maxChars="32" change="associate();"/>
</mx:FormItem>

然后就是處理效果,這些內容都是從數據庫得到的數據,動態的查出的。
復制代碼 代碼如下:

import mx.collections.ArrayCollection;
            import mx.events.FlexMouseEvent;
            import mx.events.ListEvent;
            import mx.managers.PopUpManager;

            import resources.com.list.Association;

            // 經過渲染的聯想結果List
            private var list:Association;
            // 臨時字符串,用于判斷當keyUp事件發生時,聯想框的值是否發生改變,如未改變則不聯想
            private var temp:String = '';
            private function changeAssociation():void{
                temp='';
                txtAssociation.text='';
                associationResult=null;
                if(list != null){
                    PopUpManager.removePopUp(list);
                    list = null;
                    // 清空臨時字符串
                }
        }
            private function associate():void {
                var str:String = txtAssociation.text;
                if(str.length<2){
                    associationResult=null;
                }
                if (str != temp) {
                    if(str.length < 2){
                         if(list != null){
                             PopUpManager.removePopUp(list);
                             list = null;
                             // 清空臨時字符串
                            temp = '';
                        }
                         return;
                    }
                    temp = str;

                    var params:Object = {};
                    params['areaNO'] = cbxArea.selectedItem.data;
                 params['netType'] = cbxNetType.selectedItem.data;
                    params['str'] = str;
                    params['handle'] = 'associate';
                    service4association.send(params);
                }
            }
            private function openAssociation():void {
                if(service4association.lastResult.items != null)
                     createAndShow(service4association.lastResult.items.item);

                else if(list != null){
                    PopUpManager.removePopUp(list);
                    list = null;
                    // 清空臨時字符串
                    temp = '';
                }
            }
            private function createAndShow(dp:Object):void {
                // 每次打開聯想框以前, 先清理緩存
                if(list != null){
                    // 將聯想框從PopUpManager中移除
                    PopUpManager.removePopUp(list);
                    // 清空聯想框實例
                    list = null;
                }

                list = new Association();
                //指定數據源
                list.dataProvider = dp;
                //獲取鼠標坐標并賦值給list
                list.x = txtAssociation.x + 219;
                list.y = txtAssociation.y + 205;
                //大小
                list.minWidth = 400;
                list.maxHeight = 270;
                //注冊list外鼠標按下和項目單擊事件
                list.addEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, mouseDownOutsideHandler);
                list.addEventListener(ListEvent.ITEM_CLICK, itemClik);

                //彈出并顯示list
                PopUpManager.addPopUp(list, this, false);
            }
            private var associationResult:Object;
            private function itemClik(event:ListEvent):void{
                associationResult = ArrayCollection(Association(event.target).dataProvider).getItemAt(event.rowIndex);
                txtAssociation.text = associationResult.label;
                //Alert.show(associationResult.data);
                removePopUpIDisplay(Association(event.target));
            }
            private function mouseDownOutsideHandler(event:MouseEvent):void{
                removePopUpIDisplay(Association(event.target));
            }
            private function removePopUpIDisplay(obj:Association):void{
                // 清空臨時字符串
                temp = '';
                obj.removeEventListener(FlexMouseEvent.MOUSE_DOWN_OUTSIDE, mouseDownOutsideHandler);
                PopUpManager.removePopUp(obj);
            }
            /**--------------------------聯想-------------------------------**/

還有一個類,這里也貼出來吧。呵呵,共享原則,完全可實現。
復制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:List xmlns:mx="http://www.adobe.com/2006/mxml" initialize="initApp();" xmlns:filters="flash.filters.*"
    alternatingItemColors="[#EEEEEE, white]" buttonMode="true" >

    <mx:Script>
        <!--[CDATA[
            private function initApp():void{
                showEffect.play();
            }
        ]]-->
    </mx:Script>

    <mx:itemRenderer>
        <mx:Component>
            <mx:HBox horizontalGap="0" paddingLeft="5">
                <mx:Image source="@Embed('resources/icons/building.png')"/>
                <mx:Text text="{data.prefix}" paddingLeft="5"/>
                <mx:Text text="{data.str}" color="green"/>
                <mx:Text text="{data.suffix}"/>
            </mx:HBox>
        </mx:Component>
    </mx:itemRenderer>

    <mx:Parallel id="showEffect" target="{this}" duration="300">
        <mx:Fade />
        <mx:WipeDown />
    </mx:Parallel> 
</mx:List>

FLEX--仿Google聯想框效果--現在好多地方都用到了這樣的效果,當然,現在Google下線了,不讓用了,但是跟網上說的一樣,想辦法,它還是能出來的.呵呵,不過對于我們沒有多少必要了.這里在Flex當中也是為了能夠更好的實現查詢效果.所以也要求做這么一個,動態查詢.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美韩国高清| 日韩最新av在线| 日韩av在线最新| 一本色道久久88亚洲综合88| 亚洲欧洲日产国产网站| 欧美日韩中文字幕在线| 欧美精品一区三区| 亚洲国产成人一区| 国产精品都在这里| 久久精品国产欧美激情| 欧美大胆a视频| 97视频免费在线观看| 中文字幕亚洲二区| 欧美电影在线免费观看网站| 成人免费大片黄在线播放| 欧美国产亚洲视频| 欧美人在线视频| 亚洲免费av电影| 亚洲精品久久久久中文字幕二区| 亚洲精品成人久久电影| 九九精品在线播放| 日韩激情第一页| 亚洲丝袜一区在线| 亚洲美女在线看| 欧美成人精品在线播放| 91在线高清免费观看| 亚洲欧美日韩精品久久| 成人网址在线观看| 久久久久国产一区二区三区| 国产九九精品视频| 亚洲美女在线看| 欧美精品videosex极品1| 亚洲精品永久免费| 国产精品扒开腿做爽爽爽的视频| 欧美日韩在线视频首页| 日韩av资源在线播放| 红桃av永久久久| 国产精品偷伦视频免费观看国产| 国产精品久久久久久久9999| 国产深夜精品福利| 国产日韩av在线播放| 国内免费精品永久在线视频| 欧美激情视频在线免费观看 欧美视频免费一| 国语自产精品视频在线看一大j8| 久久视频精品在线| 久久综合伊人77777尤物| 欧美在线免费视频| 一区二区三区视频在线| 国产成人精品av| 欧美高清电影在线看| 欧美精品久久一区二区| 午夜精品福利视频| 亚洲xxxxx| 国产精品pans私拍| 91青草视频久久| 国产亚洲视频在线观看| 2025国产精品视频| 久久精品国产亚洲| www.久久撸.com| 亚洲综合自拍一区| 青青草原一区二区| 亚洲国产欧美一区二区三区同亚洲| 欧美成人一区二区三区电影| 欧美视频在线观看 亚洲欧| 久久成人国产精品| 日韩中文娱乐网| 亚洲精品福利视频| 国产主播欧美精品| 亚洲欧美日韩久久久久久| 欧美日产国产成人免费图片| www.日韩不卡电影av| 欧美整片在线观看| 亚洲精品视频在线观看视频| 国产精品wwwwww| 国产v综合ⅴ日韩v欧美大片| 亚洲福利小视频| 日韩精品在线观看一区二区| 国产97在线视频| 国产激情久久久久| 欧美日韩xxxxx| 精品久久久久久亚洲精品| 91国偷自产一区二区三区的观看方式| 国产成人黄色av| 美女久久久久久久| 黑人巨大精品欧美一区二区| 亚洲欧美精品suv| 九九热这里只有精品免费看| 一区二区亚洲欧洲国产日韩| 992tv在线成人免费观看| 亚洲欧美成人在线| 一区二区欧美亚洲| 国语自产精品视频在线看抢先版图片| 国产精品成人免费视频| 国产精品福利无圣光在线一区| 海角国产乱辈乱精品视频| 久久精品99国产精品酒店日本| 91在线高清视频| 欧美大片欧美激情性色a∨久久| 欧美精品在线免费播放| 精品中文字幕乱| 日韩精品极品在线观看播放免费视频| 久久精品国产一区二区电影| 久久精品中文字幕一区| 黑人巨大精品欧美一区二区免费| 亚洲一区二区久久久久久久| 国产欧美一区二区三区视频| 亚洲欧洲第一视频| 久久免费成人精品视频| 国产精品在线看| 国产精品美女视频网站| 26uuu另类亚洲欧美日本老年| 亚洲男人7777| 宅男66日本亚洲欧美视频| 国产精品美女无圣光视频| 国产精品尤物福利片在线观看| 国产欧美日韩中文字幕| 一本一道久久a久久精品逆3p| 宅男66日本亚洲欧美视频| 国产欧美久久久久久| 成人深夜直播免费观看| 亚洲3p在线观看| 尤物yw午夜国产精品视频明星| 91精品国产91久久久久久最新| 亚洲新中文字幕| 亚洲午夜激情免费视频| 91网站免费观看| 91成人福利在线| 日韩中文字幕视频在线观看| 蜜臀久久99精品久久久无需会员| 国产精品成人观看视频国产奇米| 综合国产在线观看| 国产精品6699| 欧美视频精品一区| 亚洲午夜性刺激影院| 欧美电影免费观看| 成人国产亚洲精品a区天堂华泰| 中文字幕一区电影| 少妇高潮久久久久久潘金莲| 国产精品户外野外| 色综合色综合久久综合频道88| 欧美激情一区二区三区在线视频观看| 国内精品久久久久影院 日本资源| 91大神在线播放精品| 激情成人在线视频| 日韩激情av在线免费观看| 欧美精品videos| 国产精品99久久久久久人| 国产欧美一区二区白浆黑人| 欧美第一淫aaasss性| 国产97在线观看| 日韩视频欧美视频| 日韩av在线免播放器| 欧美国产日韩一区二区三区| 国产欧美韩国高清| 日韩欧美中文在线| 国产一区二区三区四区福利| 57pao国产精品一区| 日本伊人精品一区二区三区介绍| 成人av在线天堂| 亚洲国产天堂久久综合| 精品国产区一区二区三区在线观看| 精品久久香蕉国产线看观看亚洲| 国产91|九色| 亚洲成av人乱码色午夜|