ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用vue实现用户管理 添加及删除功能

2021-07-25 23:31:07  阅读:184  来源: 互联网

标签:vue name 删除 item 添加 let new id ctime


简单的管理系统-增删改查

添加及删除功能

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>用户管理</title>
		<script src="../js/vue-2.4.0.js"></script>
		<link rel="stylesheet" type="text/css" href="../bootstrap-3.3.7-dist/css/bootstrap.css"/>
	</head>
	<body>
		<div id="app">
			<div class="panel panel-primary">
			  <div class="panel-heading">
			    <h3 class="panel-title">用户管理</h3>
			  </div>
			  <div class="panel-body">
			   <form class="form-inline">
				  <div class="form-group">
				    <label for="exampleInputName2">Id:</label>
				    <input type="text" class="form-control" id="exampleInputName2" v-model="id">
				  </div>
				  <div class="form-group">
				    <label for="exampleInputEmail2">Name:</label>
				    <input type="text" class="form-control" id="exampleInputEmail2" v-model="name">
				  </div>
				  <button type="button" class="btn btn-primary" @click="add()">添加</button>
				  <div class="form-group">
				    <label for="exampleInputName3">搜索名称关键字:</label>
				    <input type="text" class="form-control" id="exampleInputName3" >
				  </div>
				</form>
			  </div>
			</div>
			<table class="table table-bordered table-striped table-hover">
				<tr>
					<th>Id</th>
					<th>Name</th>
					<th>CTime</th>
					<th>Operation</th>
				</tr>
				<tr v-for="item in userList">
					<td>{{item.id}}</td>
					<td>{{item.name}}</td>
					<td>{{item.ctime}}</td>
					<td><a href="#" class="btn btn-primary" @click.prevent="del(item.id)">删除</a></td>
				</tr>
			</table>
		</div>
		
		<script type="text/javascript">
			let vm = new Vue({
				el: "#app",
				data: {
					userList:[
						{id:1,name:"刘备",ctime: new Date()},
						{id:2,name:"关羽",ctime: new Date()},
						{id:3,name:"张飞",ctime: new Date()},
					],
					id:'',
					name:''
				},
				methods: {
					add() {
						let user = {id:this.id,name:this.name,ctime: new Date()};
						this.userList.push(user);
						this.id = this.name = '';
					},
					del(userId) {
						
						let index = this.userList.findIndex(item => item.id==userId);
						this.userList.splice(index, 1);
					}
				}
			});
		</script>
	</body>
</html>

添加根据名字搜索功能

<html>
	<head>
		<meta charset="UTF-8">
		<title>用户管理</title>
		<script src="../js/vue-2.4.0.js"></script>
		<link rel="stylesheet" type="text/css" href="../bootstrap-3.3.7-dist/css/bootstrap.css"/>
	</head>
	<body>
		<div id="app">
			<div class="panel panel-primary">
			  <div class="panel-heading">
			    <h3 class="panel-title">用户管理</h3>
			  </div>
			  <div class="panel-body">
			   <form class="form-inline">
				  <div class="form-group">
				    <label for="exampleInputName2">Id:</label>
				    <input type="text" class="form-control" id="exampleInputName2" v-model="id">
				  </div>
				  <div class="form-group">
				    <label for="exampleInputEmail2">Name:</label>
				    <input type="text" class="form-control" 
				    	id="exampleInputEmail2" v-model="name" @keydown.enter="add()">
				  </div>
				  <button type="button" class="btn btn-primary" @click="add()">添加</button>
				  <div class="form-group">
				    <label for="exampleInputName3">搜索名称关键字:</label>
				    <input type="text" class="form-control"
				    	 id="exampleInputName3" v-model="keyWord" v-focus>
				  </div>
				</form>
			  </div>
			</div>
			<table class="table table-bordered table-striped table-hover">
				<tr>
					<th>Id</th>
					<th>Name</th>
					<th>CTime</th>
					<th>Operation</th>
				</tr>
				<tr v-for="item in search(keyWord)">
					<td>{{item.id}}</td>
					<td>{{item.name}}</td>
					<td>{{item.ctime | formatDate('yyyy-mm-dd hh:mm:ss')}}</td>
					<td><a href="#" class="btn btn-primary" @click.prevent="del(item.id)">删除</a></td>
				</tr>
			</table>
		</div>
		
		<script type="text/javascript"> 
			//自定义键盘码
			//Vue.config.keyCodes.f2 = 113
			
			//全局指令
			Vue.directive("focus",{
				inserted: function(el) {
					el.focus();
				}
			})
			
			Vue.filter("formatDate",function(data, pattern) {
				let year = data.getFullYear();
				let month = (data.getMonth() + 1).toString().padStart(2,'0');
				let day = data.getDate().toString().padStart(2,'0');
				if(pattern==null || pattern==''){
					return `${year}年${month}月${day}日`
				}else {
					let h = data.getHours().toString().padStart(2,'0');
					let m = data.getMinutes().toString().padStart(2,'0');
					let s = data.getSeconds().toString().padStart(2,'0');
					
					return `${year}年${month}月${day}日  ${h}:${m}:${s}`
				}
				
			})
			
			let vm = new Vue({
				el: "#app",
				data: {
					userList:[
						{id:1,name:"刘备",ctime: new Date()},
						{id:2,name:"关羽",ctime: new Date()},
						{id:3,name:"张飞",ctime: new Date()},
					],
					id:'',
					name:'',
					keyWord:''
				},
				methods: {
					add() {
						let user = {id:this.id,name:this.name,ctime: new Date()};
						this.userList.push(user);
						this.id = this.name = '';
					},
					del(userId) {
						
						let index = this.userList.findIndex(item => item.id==userId);
						this.userList.splice(index, 1);
					},
					search(keyWord) {
						return this.userList.filter(item => item.name.includes(keyWord))
					}
				}
			});
		</script>
	</body>
</html>

功能还有很多很多的缺点,这只是在学习过程中的一个小练习,复习相关知识

标签:vue,name,删除,item,添加,let,new,id,ctime
来源: https://www.cnblogs.com/lumis/p/15046919.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有