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 相关文章推荐
js left,right,mid函数
Jun 10 Javascript
原生js事件的添加和删除的封装
Jul 01 Javascript
jQuery中click事件用法实例
Dec 26 Javascript
使用AngularJS来实现HTML页面嵌套的方法
Jun 17 Javascript
JS实现的页面自定义滚动条效果
Oct 26 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
Mar 29 Javascript
浅谈angular懒加载的一些坑
Aug 20 Javascript
js运动事件函数详解
Oct 21 Javascript
JavaScript中 DOM操作方法小结
Apr 25 Javascript
JS实现深度优先搜索求解两点间最短路径
Jan 17 Javascript
小程序最新获取用户昵称和头像的方法总结
Sep 23 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
Oct 24 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
js下函数般调用正则的方法附代码
2008/06/22 PHP
PHP关联链接常用代码
2012/11/05 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
php进程间通讯实例分析
2016/07/11 PHP
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
cument.execCommand()用法深入理解
2012/12/04 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
vue二级路由设置方法
2018/02/09 Javascript
ES6学习笔记之map、set与数组、对象的对比
2018/03/01 Javascript
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
vue 移动端记录页面浏览位置的方法
2020/03/11 Javascript
用JS实现选项卡
2020/03/23 Javascript
python基础教程之Filter使用方法
2017/01/17 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
Python实现的特征提取操作示例
2018/12/03 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
DjangoWeb使用Datatable进行后端分页的实现
2020/05/18 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
2014年应届大学生自我评价
2014/01/09 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
员工给公司的建议书
2019/06/24 职场文书
工作总结之小学教师体育工作范文(3篇)
2019/10/07 职场文书
Linux系统下安装PHP7.3版本
2021/06/26 PHP
vue 给数组添加新对象并赋值
2022/04/20 Vue.js
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技