使用 Vue.js 仿百度搜索框的实例代码


Posted in Javascript onMay 09, 2017

整理文档,搜刮出一个使用 Vue.js 仿百度搜索框的实例代码,稍微整理精简一下做下分享。

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>Vue demo</title>
  <style type="text/css">
  .bg {
    background: #ccc;
  }
  </style>
  <script src="https://cdn.bootcss.com/vue/2.1.7/vue.min.js"></script>
  <script src="https://cdn.bootcss.com/vue-resource/1.3.1/vue-resource.min.js"></script>
  <script type="text/javascript">
  window.onload = function() {
    new Vue({
      el: '#box',
      data: {
        inputText: '',
        text: '',
        nowIndex: -1,
        result: []
      },
      methods: {
        show: function(ev) {
          if (ev.keyCode == 38 || ev.keyCode == 40) {
            if (this.nowIndex < -1){
              return;
            }
            if (this.nowIndex != this.result.length && this.nowIndex != -1) {
              this.inputText = this.result[this.nowIndex];
            }
            return;
          }
          if (ev.keyCode == 13) {
            window.open('https://www.baidu.com/s?wd=' + this.inputText, '_blank');
            this.inputText = '';
          }
          this.text = this.inputText;
          this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su', {
            params: {
              wd: this.inputText
            },
            jsonp: 'cb'
          }).then(res => {
            this.result = res.data.s;
          })
        },
        down: function() {
          this.nowIndex++;
          if (this.nowIndex == this.result.length) {
            this.nowIndex = -1;
            this.inputText = this.text;
          }
        },
        up: function() {
          this.nowIndex--;
          if (this.nowIndex < -1){
            this.nowIndex = -1;
            return;
          }
          if (this.nowIndex == -1) {
            this.nowIndex = this.result.length;
            this.inputText = this.text;
          }
        }
      }
    });
  }
  </script>
</head>

<body>
  <div id="box">
    <input type="text" placeholder="请输入搜索内容" v-model='inputText' @keyup='show($event)' @keydown.down='down()' @keydown.up.prevent='up()'>
    <ul>
      <li v-for="(item, index) in result" :class='{bg: index==nowIndex}'>
        {{item}}
      </li>
    </ul>
  </div>
</body>

</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
Apr 08 Javascript
alert出数组中的随即值代码
Sep 25 Javascript
编写高性能Javascript代码的N条建议
Oct 12 Javascript
jquery实现模拟百分比进度条渐变效果代码
Oct 29 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
May 18 Javascript
JavaScript编写一个简易购物车功能
Sep 17 Javascript
jQuery实现获取h1-h6标题元素值的方法
Mar 06 Javascript
Angularjs Promise实例详解
Mar 15 Javascript
vue里input根据value改变背景色的实例
Sep 29 Javascript
基于jquery ajax的多文件上传进度条过程解析
Sep 11 jQuery
微信小程序进入广告实现代码实例
Sep 19 Javascript
js+canvas绘制图形验证码
Sep 21 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
May 09 #Javascript
使用ES6语法重构React代码详解
May 09 #Javascript
JQuery实现定时刷新功能代码
May 09 #jQuery
React.js中常用的ES6写法总结(推荐)
May 09 #Javascript
js上传图片预览的实现方法
May 09 #Javascript
react开发中如何使用require.ensure加载es6风格的组件
May 09 #Javascript
Vue2单一事件管理组件通信
May 09 #Javascript
You might like
在PHP中使用灵巧的体系结构
2006/10/09 PHP
php中将时间差转换为字符串提示的实现代码
2011/08/08 PHP
ThinkPHP行为扩展Behavior应用实例详解
2014/07/22 PHP
php文件下载处理方法分析
2015/04/22 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
同一个表单 根据要求递交到不同页面的实现方法小结
2009/08/05 Javascript
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
基于Jquery的温度计动画效果
2010/06/18 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
2014/05/29 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
JS实现可关闭的对联广告效果代码
2015/09/14 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
js基础之DOM中元素对象的属性方法详解
2016/10/28 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
jQuery+CSS实现的标签页效果示例【测试可用】
2018/08/14 jQuery
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
python爬虫基本知识
2018/03/05 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
Tensorflow使用Anaconda、pycharm安装记录
2020/07/29 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
销售总经理岗位职责
2014/03/15 职场文书
社区食品安全实施方案
2014/03/28 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技