功能描述:添加、修改、搜索过滤

效果图:

 <!DOCTYPE html>
 <html lang="en">
 <head>
     <title>简单用户管理</title>
     <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
     <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
 </head>

 <body>
     <div id="app">
         <div class="panel panel-success">
             <div class="panel-heading">
                 <h3 class="panel-title">基于vue.js的简单用户管理</h3>
             </div>
             <div class="panel-body form-inline ">
                 <label>id:
                     <input type="text" class="form-control" v-model="id">
                 </label>
                 <label>name:
                     <input type="text" class="form-control" v-model="name">
                 </label>
                 <button class="btn btn-primary" @click="add()">Create</button>
                 <label>search:
                     <input type="text" class="form-control" v-model="keywords">
                 </label>
             </div>
         </div>

         <table class="table table-hover table-bordered table-striped">
             <thead>
                 <tr>
                     <th>id</th>
                     <th>name</th>
                     <th>time</th>
                     <th>Operation</th>
                 </tr>
             </thead>
             <tbody>
                 <tr v-for="list in search(keywords)" :key="list.id">
                     <td>{{list.id}}</td>
                     <td>{{list.name}}</td>
                     <td>{{list.time | dateFormat() }}</td>
                     <td>
                         <a href="" @click.prevent="del(list.id)">Delete</a>
                     </td>
                 </tr>
             </tbody>
         </table>
     </div>
 </body>

 <script>

     // 全局的过滤器, 进行时间的格式化
     // 所谓的全局过滤器,就是所有的VM实例都共享的
     Vue.filter('dateFormat', function (dateStr, pattern = "") {
         // 根据给定的时间字符串,得到特定的时间
         var dt = new Date(dateStr)
         //   yyyy-mm-dd
         var y = dt.getFullYear()

         var d = dt.getDate()
         // return y + '-' + m + '-' + d
         if (pattern.toLowerCase() === 'yyyy-mm-dd') {
             return `${y}-${m}-${d}`
         } else {
             var hh = dt.getHours()
             var mm = dt.getMinutes()
             var ss = dt.getSeconds()
             return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
         }
     })

     new Vue({
         el: '#app',
         data: {
             id: "",
             name: "",
             keywords: "",
             lists: [
                 { id: , name: "Jacking", time: new Date() },
                 { id: , name: "zhangs", time: new Date() },
                 { id: , name: "bill", time: new Date() }
             ]
         },
         methods: {
             del(id) {
                 // this.lists.some((item, i) => {
                 //     if (item.id = id) {
                 //         this.lists.splice(i,1)
                 //         return true;
                 //     }
                 // })

                 var index = this.lists.findIndex(item => {
                     if (item.id == id) {
                         return true;
                     }
                 })
                 )
             },
             add() {
                 var flag = true;
                 this.lists.forEach(element => {
                     if (element.id == this.id) {
                         alert("该id已存在,请重新输入!");
                         flag = false;
                     }
                 });
                 if (!flag) {
                     this.id = ""
                     return false;
                 }
                 var list = { id: this.id, name: this.name, time: new Date() };
                 this.lists.push(list);
                 this.id = this.name = "";
             },
             // 过滤lists中的数据,返回一个新的数组
             search(keywords) {
                 var newList = [];
                 this.lists.forEach(element => {
                     ) {

                         newList.push(element);
                     }
                 });
                 return newList;

                 // return this.lists.filter(item => {
                 //     if (item.name.includes(keywords)) {
                 //         return item;
                 //     }
                 // })
             }
         },
         //过滤器为就近原则
         filters: {
             dateFormat: function (dateStr, pattern = '') {
                 // 根据给定的时间字符串,得到特定的时间
                 var dt = new Date(dateStr)
                 //   yyyy-mm-dd
                 var y = dt.getFullYear()
                 ).toString().padStart(, ')
                 , ')
                 if (pattern.toLowerCase() === 'yyyy-mm-dd') {
                     return `${y}-${m}-${d}`
                 } else {
                     , ')
                     , ')
                     , ')
                     return `${y}-${m}-${d} ${hh}:${mm}:${ss} ~~~~~~~`
                 }
             }
         }

     })

 </script>

 </html>

基于vue.js的简单用户管理的更多相关文章

  1. 基于 Vue.js 之 iView UI 框架非工程化实践记要 使用 Newtonsoft.Json 操作 JSON 字符串 基于.net core实现项目自动编译、并生成nuget包 webpack + vue 在dev和production模式下的小小区别 这样入门asp.net core 之 静态文件 这样入门asp.net core,如何

    基于 Vue.js 之 iView UI 框架非工程化实践记要   像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引 ...

  2. [译]基于Vue.js的10个最佳UI框架,用于构建移动应用程序

    原文查看10 Best Vue.js based UI Frameworks for Building Mobile Apps 如果您期待使用Vue.js构建移动应用程序,那么您可以选择许多可用的UI ...

  3. 基于Vue JS, Webpack 以及Material Design的渐进式web应用 [Part 1]

    基于Vue JS, Webpack 以及Material Design的渐进式web应用 [Part 1] 原文:基于Vue JS, Webpack 以及Material Design的渐进式web应 ...

  4. Vue项目中使用基于Vue.js的移动组件库cube-ui

    cube-ui 是滴滴公司的技术团队基于 Vue.js 实现的精致移动端组件库.很赞,基本场景是够用了,感谢开源!感谢默默奉献的你们. 刚爬完坑,就来总结啦!!希望对需要的朋友有小小的帮助. (一)创 ...

  5. 基于Vue.js 2.0 + Vuex打造微信项目

    一.项目简介 基于Vue + Vuex + Vue-router + Webpack 2.0打造微信界面,实现了微信聊天.搜索.点赞.通讯录(快速导航).个人中心.模拟对话.朋友圈.设置等功能. 二. ...

  6. vue.js 作一个用户表添加页面----初级

    使用vue.js 制作一个用户表添加页面,实际上是把原来需要使用js写的部分,改写成vue.js的格式 首先,想象一下,先做思考,我们要添加用户表,设涉及到哪些数据,一个是用户id,一个是用户名,一个 ...

  7. 基于VUE.JS的移动端框架Mint UI

    Mint UI GitHub:github.com/ElemeFE/mint 项目主页:mint-ui.github.io/# Demo:elemefe.github.io/mint- 文档:mint ...

  8. angular4.0和angularJS、react.js、vue.js的简单比较

    angularJS特性 模板功能强大丰富(数据绑定大大减少了代码量) 比较完善的前端MVC框架(只要学习这个框架,按照规定往里面填东西就可以完成前端几乎所有的的问题) 引入了Java的一些概念 ang ...

  9. 新建一个基于vue.js+Mint UI的项目

    上篇文章里面讲到如何新建一个基于vue,js的项目(详细文章请戳用Vue创建一个新的项目). 该项目如果需要组件等都需要自己去写,今天就学习一下如何新建一个基于vue.js+Mint UI的项目,直接 ...

随机推荐

  1. java.util.Date 与 java.sql.Date 之间的转换

    SimpleDateFormat sdf = new SimpleDateFormat("yy-MM-dd HH:mm:ss"); String dateStr = sdf.for ...

  2. SpringBoot集成Security,JWT,Swagger全分析

    GitHub地址: https://github.com/li-jun0201/springsecuritydemo本项目采用SpringBoot1.5.9, SpringSecurity,JWT, ...

  3. web版仿微信聊天界面|h5仿微信电脑端案例开发

    前几天开发了一款手机端h5仿微信聊天,人唯有不停学习才能进步,这段时间倒腾着整理了下之前项目,又重新在原先的那版基础上开发了一款仿微信聊天电脑端web版本,聊天页面又重新优化了多图预览.视频播放,右键 ...

  4. Asp.Net Core 轻松学-正确使用分布式缓存

    前言     本来昨天应该更新的,但是由于各种原因,抱歉,让追这个系列的朋友久等了.上一篇文章 在.Net Core 使用缓存和配置依赖策略 讲的是如何使用本地缓存,那么本篇文章就来了解一下如何使用分 ...

  5. centos7 修改ip和dns

    RHEL7.CentOS7命令添加和修改网卡IP地址和NDS   RHEL7.CentOS7默认安装之后是没有启动网络连接!(我们就不按6的方试设置IP了,用命令方试添加IP.网关和DNS) 一.设置 ...

  6. Android:JNI与NDK(一)

    友情提示:欢迎关注本人公众号,那里有更好的阅读体验以及第一时间获取最新文章 本篇目录 以下举例代码均来自:NDK示例代码 一.前言 安卓开发中很多场景需要用到NDK来开发,比如,音视频的渲染,图像的底 ...

  7. Java开发笔记(九十)对象序列化及其读写

    有些时候,开发者想把程序运行过程中的数据临时保存到文件,可是前面介绍的字符流和字节流,要么用来读写文本字符串,要么用来读写字节数组,并不能直接保存某个对象信息,因为对象里面包括成员属性和成员方法,单就 ...

  8. 什么是CSS

    CSS是Cascading Style Sheet的缩写.译作”层叠样式表单“.是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记性语言.使用CSS样式可以控制许多仅使用HTML无法控 ...

  9. Sql中CHARINDEX用法

    CHARINDEX作用 写SQL语句我们经常需要判断一个字符串中是否包含另一个字符串,但是SQL SERVER中并没有像C#提供了Contains函数,不过SQL SERVER中提供了一个叫CHAEI ...

  10. bat脚本+diskpart 脚本实现自动划分磁盘分区

    我提供的脚本只是案例展示,真实场景需要自行修改.(正好我今天看到一个规范的bat脚本,我放出来,大家一起学习下) 要求:将20G的磁盘1,分出4G为主分区,4G扩展分区(2个2G逻辑分区) 试验环境: ...