zoukankan      html  css  js  c++  java
  • vue学习(3)-增删改查

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>Title</title>
      6     <script type="text/javascript" src="https://unpkg.com/vue/dist/vue.js"></script>
      7     <script src="js/jquery/2.0.0/jquery.min.js"></script>
      8     <link rel="stylesheet" href="css/bootstrap/3.3.6/bootstrap.min.css">
      9     <script src="js/bootstrap/3.3.6/bootstrap.min.js"></script>
     13 </head>
     14 <body>
     15 <div id="app">
     16 
     17     <div class="panel panel-primary">
     18         <div class="panel-heading">
     19             <h3 class="panel-title">添加品牌</h3>
     20         </div>
     21         <div class="panel-body form-inline">
     22             <label>
     23                 Id:
     24                 <input type="text" class="form-control" v-model="id">
     25             </label>
     26             <label>
     27                 Name:
     28                 <input type="text" class="form-control" v-model="name">
     29             </label>
     30 
     31             <input type="button" value="添加" @click="add" class="btn btn-primary">
     32 
     33             <label>
     34                 搜索名称关键字:
     35                 <input type="text" class="form-control" v-model="keywords">
     36             </label>
     37         </div>
     38     </div>
     39 
     40     <table class="table table-bordered table-hover table-striped">
     41         <thead>
     42         <tr>
     43             <th>Id</th>
     44             <th>Name</th>
     45             <th>Ctime</th>
     46             <th>Operation</th>
     47         </tr>
     48         </thead>
     49         <tbody>
     50         <!--如果要查找的话,数组名就不能写死-->
     51         <tr v-for="item in search(keywords)" :key="item.id">
     52             <td>{{ item.id }}</td>
     53             <td>{{ item.name }}</td>
     54             <!--传空字符串,不能不传-->
     55             <td>{{ item.ctime | dateFormat('') }}</td>
     56             <td>
     57                 <!-- .prevent 阻止默认行为,防止刷新-->
     58                 <a href="" @click.prevent="del(item.id)">删除</a>
     59             </td>
     60         </tr>
     61         </tbody>
     62     </table>
     63 </div>
     64 
     65 
     66 <div id="app2">
     67     <p>{{ dt | dateFormat('') }}</p>
     68 </div>
     69 
     70 <script>
     71     // 全局过滤器
     72     Vue.filter('dateFormat', function (dateStr,pattern) {
     73         var dt = new Date(dateStr);
     74 
     75         var y = dt.getFullYear();
     76         var m = dt.getMonth() + 1;
     77         var d = dt.getDate();
     78 
     79         // return `${y}-${m}-${d}`;
     80         // return dt.toLocaleDateString();
     81 
     82         if (pattern.toLowerCase() === 'yyyy-mm-dd') {
     83             return `${y}-${m}-${d}`;
     84         }else {
     85             var hh = dt.getHours();
     86             var mm = dt.getMinutes();
     87             var ss = dt.getSeconds();
     88 
     89             return `${y}-${m}-${d} ${hh}:${mm}:${ss}`;
     90         }
     91     });
     92 
     93     // 创建 Vue 实例,得到 ViewModel
     94     var vm = new Vue({
     95         el: '#app',
     96         data: {
     97             id:'',
     98             name:'',
     99             keywords:'',//搜索的关键词
    100             list:[
    101                 {id: 1, name:'benz', ctime: new Date()},
    102                 {id: 2, name:'baoma', ctime: new Date()}
    103             ]
    104         },
    105         methods: {
    106             add() {
    107                 var car = { id: this.id, name: this.name,ctime: new Date()};
    108                 this.list.push(car);
    109             },
    110             del(id) {
    111                 this.list.some((item, i) => {
    112                     if (item.id === id){
    113                         this.list.splice(i, 1);
    114                         //在数组 some 方法中,只要return true,就会立即终止这个数组的后续循环
    115                         return ture;
    116                     }
    117 
    118                 })
    119             },
    120             search(keywords) {
    121                 // var newList = [];
    122                 // this.list.forEach(item => {
    123                 //如果查找不到就返回-1
    124                 //查找的为空,就返回 0
    125                 //     if (item.name.indexOf(keywords) != -1){
    126                 //         newList.push(item);
    127                 //     }
    128                 // });
    129                 // return newList
    130 
    131             //    forEach some filter findIndex 数组遍历的方法
    132                 return newList = this.list.filter(item => {
    133                     //String.prototype.includes('要包含的字符串')
    134                     //如果包含 返回true
    135                     //jQuery中有个方法$("p:contain(is)")类似
    136                     if (item.name.includes(keywords)){
    137                         return item;
    138                     }
    139                 })
    140 
    141             }
    142         }
    143     });
    144 
    145     //定义私有的过滤器
    146     var vm2 = new Vue({
    147         el: '#app2',
    148         data: {
    149             dt:new Date()
    150         },
    151         methods: {
    152 
    153         },
    154         //过滤器,方法都是对象
    155         //过滤器调用采用就近原则,如果全局和私有的名称一致了,优先调用私有的过滤器
    156         filters: {
    157             dateFormat: function (dateStr, pattern = '') {
    158                 var dt = new Date(dateStr);
    159 
    160                 var y = dt.getFullYear();
    161                 var m = dt.getMonth() + 1;
    162                 var d = dt.getDate();
    163 
    164 
    165                 if (pattern.toLowerCase() === 'yyyy-mm-dd') {
    166                     return `${y}-${m}-${d}`;
    167                 } else {
    168                     var hh = dt.getHours();
    169                     var mm = dt.getMinutes();
    170                     var ss = dt.getSeconds();
    171 
    172                     return `${y}-${m}-${d} ${hh}:${mm}:${ss}`;
    173 
    174                 }
    175             }
    176         }
    177     })
    178 </script>
    179 
    180 </body>
    181 </html>

    按关键词查找:

  • 相关阅读:
    MFC加载图片
    动态数组类
    MFC程序打包方法
    如何在C++中使用动态三维数组
    Ansys热应力计算
    像使用数据库一样使用xml
    过年回家的一点感想
    前后端框架和设计模式
    国外支付PayPal
    可重用的管理后台代码
  • 原文地址:https://www.cnblogs.com/monica4/p/11156991.html
Copyright © 2011-2022 走看看