用vue实现列表的增删改查基本功能(简单易懂)

文章目录

目录

文章目录

前言

一、安装vue

二、使用vue

三、相关代码

四、效果图如下


前言

随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装vue

vue开发文档参考这里可以下载 vue.js文

https://cn.vuejs.org/api/

或者引用js连接

<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>

1.打开命令窗口 输入:

npm i vue 

二、使用vue

1、创建容器

2、引入

3、new Vue({

el:"#app",

data:{},

mthods:{}

})

三、相关代码

1.css代码

.modal {
				width: 100vw;
				height: 100vh;
				background-color: rgba(0, 0, 0, .6);
				position: absolute;
				left: 0;
				top: 0;
			}

			.modal .cotain {
				width: 400px;
				height: 300px;
				position: absolute;
				left: 50%;
				top: 50%;
				transform: translate(-50%, -50%);
				background-color: #fff;
			}

			.modal .title {
				width: 100%;
				height: 38px;
				background-color: #00aaff;
				line-height: 38px;
				text-align: center;
			}

			.modal .title span:nth-of-type(2) {
				float: right;
			}

2.html代码

<div id="app">
			<div class="modal" v-show='isshow'>
				<div class="cotain">
					<div class="title"><span>编辑</span><span @click='isshow=false'>x</span></div>
					<div class="content">
						<input type="text" placeholder="标题" v-model='keywords'><br>
						<input type="text" placeholder="作者" v-model='tempItem.author'><br>
						<input type="date" v-model='tempItem.createtime'><br>
						<button @click=updateItem()>确认</button>
						<button @click='isshow=false'>取消</button>
					</div>
				</div>
			</div>
			<input type="text" placeholder="标题" v-model='keywords'><br>
			
			<input type="text" placeholder="标题" v-model='newItem.title'>
			<input type="text" placeholder="作者" v-model='newItem.author'>
			<input type="date" v-model='newItem.createtime'>
			<button @click='addItem'>确定</button>
			<table border="1" width='600'>
				<tr bgcolor='lightblue'>
					<th>序号</th>
					<th>标题</th>
					<th>作者</th>
					<th>日期</th>
					<th>操作</th>
				</tr>
				<tr v-for="(item,index) in fillist">
					<td>{{index+1}}</td>
					<td>{{item.title}}</td>
					<td>{{item.author}}</td>
					<td>{{item.createtime}}</td>
					<td>
						<a href="javascript:void(0);" @click=deleteItem(item)>删除</a>|
						<a href="javascript:void(0);" @click=editItem(item,index)>编辑</a>

					</td>
				</tr>
			</table>
		</div>

3.Vue代码

<script src="./js/vue.js"></script>  //js代码为vue2的js代码
<!-- <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> -->
		<script>
			// 初始化vue实例
			new Vue({
				el: '#app',
				data: {
					keywords:'',
					isshow: false, //是否显示模态框
					editIndex: null, //正在编辑的行号
					newItem: { //新增的对象
						title: "",
						author: '',
						createtime: ''
					},
					tempItem: { //正在编辑的对象
						title: "",
						author: '',
						createtime: ''
					}, //新增的对象
					list: [{
							title: "奇酷",
							author: 'mdy',
							createtime: '2022-09-30'
						},
						{
							title: "考研",
							author: 'dyh',
							createtime: '2022-09-28'
						}
					]
				},
				methods: {
					//添加
					addItem() {
						// 向list新增item
						this.list.unshift({
							...this.newItem
						});
						//清空数据
						this.newItem = {
							title: "",
							author: '',
							createtime: ''
						}
					},
					//删除
					deleteItem(obj) {
						var index = this.list.indexOf(obj);
						if (confirm("确认删除吗?")) {
							this.list.splice(index, 1);
						}

					},
					//编辑渲染
					editItem(item, index) {
						// 1、显示模态框
						this.isshow = true;
						// 2、渲染数据
						this.tempItem = {
							...item
						};
						this.editIndex = index; //正在编辑的行

					},
					// 确认修改
					updateItem() {
						this.list[this.editIndex] = {
							...this.tempItem
						};
						//关闭模态框
						this.isshow=false;
						//清空
						this.tempItem = { //正在编辑的对象
							title: "",
							author: '',
							createtime: ''
						}
					}
				},
				computed:{
					//过滤出的list	
					fillist(){
						if(this.keywords.trim()==""){
							return this.list;
						}else{
							return this.list.filter(item=>{
								return item.title.includes(this.keywords);
							})
						}
						
					}
				}
			})
		</script>

四、效果图如下

1.完成的效果图

2.添加的效果图

 

 

3.删除的效果图:

点击删除序号1时:

 删除成功后:

 4.点击修改时:

修改成功:

4. 查询前:

 

 查找标题为奇酷:

 

 

总结

以上就是今天要讲的内容,本文仅仅简单介绍了vue的引用以及模态框的使用,而vue提供了大量能使我们快速便捷地处理数据的函数和方法。

Vue.js 3.x 提供了一种声明式的编程模型,非常适合构建用户界面。在 Vue 中进行增删查改(CRUD)操作主要涉及组件、数据绑定和方法调用。下面是Vue3中实现增删查改的基本步骤: 1. **增(Create)**: - 创建一个新的Vue实例时,可以通过`data()`或`setup()`方法定义一个数组来保存数据。 - 使用`v-model`或`ref`来双向绑定表单元素到数据数组中的对象。 - 当添加按钮被点击时,可以在`methods`中定义一个方法(如`addItem`),创建新的对象并推入数据数组。 ```javascript // 在setup()中定义数据 const items = ref([]); // 添加方法 methods: { addItem(newItem) { items.value.push({ ...newItem }); } } ``` - 在模板中使用`v-for`展示和编辑列表项。 2. **删(Delete)**: - 继续使用`items`数组,为每个列表项提供删除操作。 - 在`methods`中添加`deleteItem`方法,接收索引作为参数,然后从数组中移除该元素。 ```javascript methods: { deleteItem(index) { items.value.splice(index, 1); } } ``` - 使用`@click`监听删除按钮的点击事件,传入对应索引。 3. **查(Read)**: - 可直接通过`items`获取当前的数据列表。 - 在模板中使用`v-for`遍历显示列表内容。 4. **改(Update)**: - 类似于添加操作,只需更新数组中对应索引的对象即可。例如,`updateItem`方法接收索引和新的属性对象。 ```javascript methods: { updateItem(index, updatedItem) { items.value[index] = { ...items.value[index], ...updatedItem }; } } ``` - 更新按钮同样通过`@click`监听,传入索引和新值。 相关问题:
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值