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 相关文章推荐
使用TextRange获取输入框中光标的位置的代码
Mar 08 Javascript
jQuery html()等方法介绍
Nov 18 Javascript
javascript实现的基于金山词霸网络翻译的代码
Jan 15 Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
Apr 01 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
Nov 23 Javascript
原生js实现瀑布流布局
Mar 08 Javascript
AngularJS 限定$scope的范围实例详解
Jun 23 Javascript
使用canvas实现一个vue弹幕组件功能
Nov 30 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
Dec 12 Javascript
layui前端时间戳转化实例
Nov 15 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
Apr 15 Javascript
关于JavaScript轮播图的实现
Nov 20 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
Thinkphp无限级分类代码
2015/11/11 PHP
PHP访问数据库集群的方法小结
2016/03/14 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
兼容所有浏览器的js复制插件Zero使用介绍
2014/03/19 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
2017/06/21 Javascript
Three.js实现绘制字体模型示例代码
2017/09/26 Javascript
原生js调用json方法总结
2018/02/22 Javascript
VSCode中如何利用d.ts文件进行js智能提示
2018/04/13 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
Vue基础配置讲解
2019/11/29 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
python学习之编写查询ip程序
2016/02/27 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
Python基于Tkinter编写crc校验工具
2020/05/06 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
南京某软件公司的.net面试题
2015/11/30 面试题
Prototype如何更新局部页面
2013/03/03 面试题
毕业寄语大全
2014/04/09 职场文书
给学校建议书范文
2014/05/13 职场文书
庆元旦演讲稿
2014/09/15 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书