Vue实现搜索 和新闻列表功能简单范例


Posted in Javascript onMarch 16, 2018

效果图如下所示:

Vue实现搜索 和新闻列表功能简单范例

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>无标题页</title>
   <meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<meta name="format-detection" content="email=no">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=0">
<script src="/style/js/vue.min.js" type="text/javascript"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/0.1.17/vue-resource.js"></script>
 <style>
   .box {
    width: 900px;
    height: auto;
    overflow: hidden;
    margin: 30px auto;
   }
   .left {
    height: 150px;
    width: 185px;
    padding: 5px;
    display: inline-block;
    border: 1px solid black;
   }
   .left input {
    padding: 2px;
    margin-top: 10px;
   }
   .right {
    width: 600px;
    height: auto;
    display: inline-block;
    margin-left: 30px;
    vertical-align: top;
   }
   .right table {
    border-collapse: collapse;
    width: 580px;
   }
   .right table th {
    background-color: green;
    padding: 5px;
    text-align: center;
    border: 1px solid black;
    color: #FFFFFF;
   }
   .right table tr {
    text-align: center;
   }
   .right table td {
    border: 1px solid black;
   }
  </style>
</head>
<body>
<div id="app">
   <div class="box">
    <div class="left">
     <input type="text" placeholder="输入编号" v-model="id" />
     <input type="text" placeholder="输入名称" v-model="name" /><br />
     <input type="button" value="添加数据" @click="add" />
     <input type="text" placeholder="搜索数据" v-model="search" />
    </div>
    <div class="right">
     <table>
      <tr>
       <th>编号</th>
       <th>品牌名称</th>
       <th>创建时间</th>
       <th>操作</th>
      </tr>
      <tr v-for="item in searchData">
       <td>{{item.id}}</td>
       <td>{{item.name}}</td>
       <td>{{item.time | datefmt('yyyy-mm-dd HH:mm:ss')}}</td>
       <td>
        <a href="javascript:void(0)" rel="external nofollow" @click="del(item.id)">删除</a>
       </td>
      </tr>
     </table>
    </div>
   </div>
  </div>
  <script>
   //定义全局过滤器
   Vue.filter("datefmt", function (input, formatstring) {
    var result = "";
    var year = input.getFullYear();
    var month = input.getMonth() + 1;
    var day = input.getDate();
    var hour = input.getHours();
    hour = hour < 10 ? "0" + hour : hour;
    var minute = input.getMinutes();
    minute = minute < 10 ? "0" + minute : minute;
    if (formatstring == 'yyyy-mm-dd') {
     result = year + "-" + month + "-" + day;
    } else {
     result = year + "-" + month + "-" + day + " " + hour + ":" + minute;
    }
    return result;
   })
   var TEMPLATE={
     options:function(){
       /**
     <a class="weui_cell" href="javascript:void(0);" rel="external nofollow" >
  <div class=weui_cell_hd >
   <i class="fa fa-credit-card fa-2x icon-color" style=width:35px;margin-right:15px;display:block ></i>
  </div>
  <div class="weui_cell_bd weui_cell_primary" >
   <p > {{HospPatientName}}
    <span style=margin-left:15px class=blue_tag >{{HospCardType}}</p>
   <p >{{HospCardNo}}</p></div>
  <div class=weui_cell_ft >
  {{HospIsDefault}}
   </div>
 </a>
             */
     }
   };
   var vm = new Vue({
    el: '#app',
    data: {
     id: '',
     name: '',
     search: '',
     list: [{
       "id": 1,
       "name": "宝马",
       "time": new Date()
      },
      {
       "id": 2,
       "name": "奔驰",
       "time": new Date()
      }
     ]
    },
    methods: {
     del: function (id) {
      if (!confirm("是否删除数据?")) {
       return;
      }
      //调用list.findIndex()方法,根据传入的id获取到这个要删除数据的索引值
      var index = this.list.findIndex(function (item) {
       return item.id == id;
      });
      //调用list.splice(删除的索引,删除的元素个数)
      this.list.splice(index, 1);
     },
     add: function () {
      //包装成list要求的对象
      var tem = {
       id: this.id,
       name: this.name,
       time: new Date()
      };
      //将tem追加到list数组中
      this.list.push(tem);
      //清空页面上的文本框中的数据
      this.id = "";
      this.name = "";
     }
    },
    computed: {
     searchData: function () {
      var search = this.search;
      if (search) {
       return this.list.filter(function (name) {
        return Object.keys(name).some(function (key) {
         return String(name[key]).toLowerCase().indexOf(search) > -1
        })
       })
      }
      return this.list;
     }
    }
   })
  </script>
</body>
</html>

总结

以上所述是小编给大家介绍的Vue实现搜索 和新闻列表功能简单范例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
iframe里的页面禁止右键事件的方法
Jun 10 Javascript
JavaScript用select实现日期控件
Jul 17 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
Apr 20 Javascript
浅谈JS中json数据的处理
Jun 30 Javascript
js模糊查询实例分享
Dec 26 Javascript
javascript 动态生成css代码的两种方法
Mar 17 Javascript
jQuery 表单序列化实例代码
Jun 11 jQuery
对Vue table 动态表格td可编辑的方法详解
Aug 28 Javascript
element-ui 时间选择器限制范围的实现(随动)
Jan 09 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
Sep 18 Javascript
JavaScript实现京东放大镜效果
Dec 03 Javascript
javascript实现文字跑马灯效果
Jun 18 Javascript
vue axios 表单提交上传图片的实例
Mar 16 #Javascript
vue中实现图片和文件上传的示例代码
Mar 16 #Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
Mar 16 #Javascript
Vue实现active点击切换方法
Mar 16 #Javascript
详解Vue.js项目API、Router配置拆分实践
Mar 16 #Javascript
vue实现tab切换外加样式切换方法
Mar 16 #Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
Mar 16 #Javascript
You might like
PHP+javascript模拟Matrix画面
2006/10/09 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
php轻松实现中英文混排字符串截取
2014/05/28 PHP
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
JQuery小知识
2010/10/15 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
Nodejs实现批量下载妹纸图
2015/05/28 NodeJs
AngularJS中处理多个promise的方式
2016/02/02 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
详解使用JWT实现单点登录(完全跨域方案)
2019/08/02 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
python获取外网ip地址的方法总结
2015/07/02 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
如何利用python查找电脑文件
2018/04/27 Python
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
python实现逢七拍腿小游戏的思路详解
2020/05/26 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
H5最强接口之canvas实现动态图形功能
2019/05/31 HTML / CSS
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
学习党的群众路线剖析材料
2014/10/09 职场文书
个人贷款收入证明
2014/10/26 职场文书
财务经理岗位职责
2015/01/31 职场文书
高中班主任心得体会
2016/01/07 职场文书
Java集成swagger文档组件
2021/06/28 Java/Android
Apache Pulsar集群搭建部署详细过程
2022/02/12 Servers
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python