zoukankan      html  css  js  c++  java
  • vue教程1-09 交互 vue实现百度下拉列表

    vue教程1-09 交互 vue实现百度下拉列表

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            .gray{
                background: #ccc;
            }
        </style>
        <script src="vue.js"></script>
        <script src="vue-resource.js"></script>
        <script>
            window.onload=function(){
                new Vue({
                    el:'body',
                    data:{
                        myData:[],
                        t1:'',
                        now:-1//按上下键,当前选中
                    },
                    methods:{
                        get:function(ev){
                            if(ev.keyCode==38 || ev.keyCode==40)return;
    
                            if(ev.keyCode==13){
                                window.open('https://www.baidu.com/s?wd='+this.t1);
                                this.t1='';
                            }
    
                            this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',{
                                wd:this.t1
                            },{
                                jsonp:'cb'
                            }).then(function(res){
                                this.myData=res.data.s;
                            },function(){
                                
                            });
                        },
                        changeDown:function(){
                            this.now++;
                            if(this.now==this.myData.length)this.now=-1//走到最下面那个,就返回最上面那个;
                            this.t1=this.myData[this.now];//搜索框的值对应变化
                        },
                        changeUp:function(){
                            this.now--;
                            if(this.now==-2)this.now=this.myData.length-1;
                            this.t1=this.myData[this.now];
                        }
                    }
                });
            };
        </script>
    </head>
    <body>
        <div id="box">
            <input type="text" v-model="t1" @keyup="get($event)" @keydown.down="changeDown()" @keydown.up.prevent="changeUp()">
            <!--搜索框的光标会默认定位到文字前面,这里@keydown.up.prevent阻止默认事件-->
            <ul>
                <li v-for="value in myData" :class="{gray:$index==now}">
                    {{value}}
                </li>
            </ul>
            <p v-show="myData.length==0">暂无数据...</p>
        </div>
    </body>
    </html>

  • 相关阅读:
    总结hashMap和hashtable
    Java抽象类
    JSP内置对象
    Java子父类间静态代码块、非静态代码块、构造方法的执行顺序
    struts1和struts2的区别
    Java Thread中,run方法和start方法的区别
    Java集合类: Set、List、Map
    输入一个整数n,输出契波那契数列的第n项
    numpy中的各种乘法总结
    矩阵按键的原理及代码实现
  • 原文地址:https://www.cnblogs.com/baiyangyuanzi/p/6768690.html
Copyright © 2011-2022 走看看