广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue实现单行删除与批量删除
  • 381
分享到

Vue实现单行删除与批量删除

2024-04-02 19:04:59 381人浏览 独家记忆
摘要

目录单行删除与批量删除一、单行删除二、批量删除简单的批量删除,全选删除单行删除与批量删除 一、单行删除 <el-table-column align="center" fix

单行删除与批量删除

一、单行删除

<el-table-column align="center" fixed="right" label="操作" width="100">
          <template slot-scope="scope">
            <el-button type="text" size="small" icon="el-icon-edit"></el-button>
            <el-button
              @click="handleClick(scope.row)"
              type="text"
              size="small"
              icon="el-icon-delete"
            ></el-button>
          </template>
</el-table-column>

在对应的删除按钮添加事件scope.row保证选中当前行

export default {
  data() {
    const data = [];
    return {
          //删除记录的code
      deleteCode: []
    };
  },
methods: {
    //Table里的点击删除图标\
    async handleClick(row) {
      const confirmResult = await this.$confirm(
        "此操作将永久删除该文件, 是否继续?",
        "提示",
        {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }
      ).catch(err => err);
      if (confirmResult !== "confirm") {
        return this.$message.info("已取消!");
      }
      this.deleteCode.push(row.id);
	   //调用的删除接口
      const { data: res } = await this.$axiOS.delete(
        "/questionCheck/updateIsDelete/" + this.deleteCode,
        {
          data: this.deleteCode
        }
      );
      if (res.code != "SUCCESS") {
        return this.$message.error("删除信息失败!");
      }
      this.deleteCode = [];
    },
}

二、批量删除

<el-button @click="batchDeleteBuild(multipleSection)" plain>批量删除</el-button>
export default {
  data() {
    return {
	      //被选中的列表记录
	    multipleSection: [],
       };
   },
methods: {
       //批量删除选中数据方法
    async batchDeleteBuild() {
      //判断是否选择了数据
      if (this.multipleSection.length == 0) {
        alert("请选择要删除的数据");
        return;
      }
      //如果有选中的数据,那么弹出消息框
      const confirmDelete = await this.$confirm(
        "此操作会永久删除建筑信息,是否删除?",
        "提示",
        {
          confimrButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning"
        }
      ).catch(err => err);
      //如果用户确认删除,则返回字符串confirm
      //如果用户取消删除,则返回字符串cancel
      if (confirmDelete !== "confirm") {
        return this.$message.info("已取消");
      }
      //将选中的数据推到deleteCode数组中
      for (var i = 0; i < this.multipleSection.length; i++) {
        var j = i;
        var id = this.multipleSection[j].id;
        this.deleteCode.push(id);
      }
      //删除deleteCode中的数据
      const { data: res } = await this.$axios.delete(
        "/question/DeleteQuestionBatch",
        {
          data: this.deleteCode
        }
      );
      if (res.code != "SUCCESS") {
        return this.$message.error("删除课程信息失败!");
      }
      this.deleteCode = [];
    },
}

简单的批量删除,全选删除

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>练习:用户管理</title>
		<link rel="stylesheet" type="text/CSS" href="css/bootstrap.min.css"/>
		<script src="js/Jquery.min.js"></script>
		<script src="js/bootstrap.min.js"></script>
	</head>
	<body>
		<div class="container">
			<h2>添加用户</h2>
			<fORM action="" class="form-horizontal">
				<div class="form-group">
					<label for="name" class="control-label col-sm-2 col-sm-offset-2">姓名:</label>
					<div class="col-sm-6">
						<input type="text" class="form-control" id="name" v-model="user.name" placeholder="输入姓名">
					</div>
				</div>
				<div class="form-group">
					<label for="age" class="control-label col-sm-2 col-sm-offset-2">姓名:</label>
					<div class="col-sm-6">
						<input type="text" class="form-control" id="age" v-model="user.age" placeholder="输入年龄">
					</div>
				</div>
				<div class="form-group">
					<label for="email" class="control-label col-sm-2 col-sm-offset-2">姓名:</label>
					<div class="col-sm-6">
						<input type="text" class="form-control" id="email" v-model="user.email" placeholder="输入邮箱">
					</div>
				</div>
				<div class="form-group text-center">
					<input type="button" value="添加" @click="addUser" class="btn btn-primary"/>
					<input type="reset" value="重置" class="btn btn-primary"/>
				</div>
			</form>
			<hr >
			<table class="table table-bordered table-hover">
				<caption class="h3 text-center text-info">用户列表</caption>
				<thead>
					<tr>
						<th class="text-center">多选</th>
						<th class="text-center">序号</th>
						<th class="text-center">姓名</th>
						<th class="text-center">年龄</th>
						<th class="text-center">邮箱</th>
						<th class="text-center">操作</th>
					</tr>
				</thead>
				<tbody>
					<tr v-for="(user,index) in users">
						<td class="text-center">
							<input type="checkbox" :value="index" v-model="selectArr">
						</td>
						<td class="text-center">{{index+1}}</td>
						<td class="text-center">{{user.name}}</td>
						<td class="text-center">{{user.age}}</td>
						<td class="text-center">{{user.email}}</td>
						<td class="text-center">
							<button class="btn btn-danger" @click="deleteOne(index)">删除</button>
						</td>
					</tr>
					<tr>
						<td colspan="6" class="text-right">
							{{selectArr}}
							<input type="checkbox" class='checkbox' @click="selectAll">
							<button @click="deleteSel" type="button" class="btn btn-danger">批量删除</button>
							<button @click="deleteAll" type="button" class="btn btn-danger">删除所有</button>
						</td>
					</tr>
				</tbody>
			</table>
		</div>
		<script src="js/vue.js"></script>
		<script>
			let vm = new Vue({
				el:".container",
				data:{
					users:[
						{name:'Lee',age:26,email:'lee@gmail.com'},
						{name:'Jay',age:40,email:'jay@gmail.com'}
					],
					user:{},
					selectArr:[]
				},
				methods:{
					addUser:function(){//添加用户
						if(this.user) {
							this.users.push(this.user);
							this.user = {};
						}	
					},
					deleteAll(){//全部删除
						this.users = []
					},
					deleteOne(index){//删除指定栏目
						this.users.splice(index,1)
					},
					deleteSel(){//选择删除
						let arr = [];
						var len = this.users.length;
						for(let i = 0;i<len;i++) {
							if (this.selectArr.indexOf(i) >=0 ) {
								console.log(this.selectArr.indexOf(i));
							}else{
								arr.push(this.users[i]);
							}
						}
						this.users = arr;
						this.selectArr = [];
					},
					selectAll(event){//全选
						// console.log(event);
						var _this = this;
						// console.log(event.currentTarget);
						if(!event.currentTarget.checked) {
							this.selectArr = [];
						}else{
							this.selectArr = [];
							
							// this.users.forEach(function(item,i) {
							// 	_this.selectArr.push(i)
							// })
							this.users.forEach((item,i)=>{
								this.selectArr.push(i)
							})
						}
					}
				}
			});
		</script>
	</body>
</html>
 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Vue实现单行删除与批量删除

本文链接: https://www.lsjlt.com/news/147193.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue实现单行删除与批量删除
    目录单行删除与批量删除一、单行删除二、批量删除简单的批量删除,全选删除单行删除与批量删除 一、单行删除 <el-table-column align="center" fix...
    99+
    2022-11-13
  • Java实现多选批量删除功能(vue+Element)
    本文实例为大家分享了Java实现多选批量删除功能的具体代码,供大家参考,具体内容如下选择前效果图选中效果图前端vue代码1、页面显示template使用方法 @selection-change=“changeFun” 获取表中选中...
    99+
    2018-01-09
    java多选批量删除 java批量删除 java多选删除
  • Phpstorm如何批量删除空行
    这篇文章主要为大家展示了“Phpstorm如何批量删除空行”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Phpstorm如何批量删除空行”这篇文章吧。Phpstorm批量删除空行:有很多小伙伴会...
    99+
    2023-06-21
  • Servlet如何进行批量删除
    这篇文章主要介绍了Servlet如何进行批量删除,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Mapper文件in为点选条件 collection为集合 点选id 以“(”开...
    99+
    2023-06-02
  • @CacheEvict + redis实现批量删除缓存
    目录@CacheEvict + redis批量删除缓存一、@Cacheable注解二、@CacheEvict注解三、批量删除缓存四、代码@CacheEvict清除指定下所有缓存@Ca...
    99+
    2022-11-12
  • mysql实现批量删除的方法
    小编给大家分享一下mysql实现批量删除的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql实现批量删除的方法:使用s...
    99+
    2022-10-18
  • jquery ajax怎么实现批量删除
    这篇文章主要讲解了“jquery ajax怎么实现批量删除”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery ajax怎么实现批量删除”吧! ...
    99+
    2022-10-19
  • react.js如何实现批量添加与删除功能
    小编给大家分享一下react.js如何实现批量添加与删除功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近做的CMS需要用到...
    99+
    2022-10-19
  • LINQ to SQL简单的单表批量删除怎么实现
    这篇文章主要讲解了“LINQ to SQL简单的单表批量删除怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“LINQ to SQL简单的单表批量删除怎么实现”吧!如何获取SQL呢,LI...
    99+
    2023-06-17
  • java实现多选批量删除功能
    本文为大家分享了java实现多选批量删除的具体代码,帮助大家更好的理解批量删除功能的实现过程,供大家参考,具体内容如下 本文用到的框架是:springmvc+mybatis 实现思路:多选复选框多个删除,点击全选全部选中,再次点击全部取消...
    99+
    2015-03-22
    java多选批量删除 java批量删除 java多选删除
  • php如何实现复选框批量删除
    这篇“php如何实现复选框批量删除”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“php如何实现复选框批量删除”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们进入...
    99+
    2023-06-06
  • redis实现批量删除的三种方式
                                 ...
    99+
    2022-10-18
  • linux下批量删除utf8 bom的实现方法
    低版本的gcc编译包含bom的文件会报错 xxx.cpp:1: error: stray ‘357' in program xxx.cpp:1: error: stray ‘273' in program ...
    99+
    2022-06-04
    批量 方法 linux
  • Mybatis实现批量删除(两种常用方法)
    1.第一种方式:         将任意多个 id 拼接成字符串,以参数形式传递进去,通过 in 函数 的方式来删除         ①首先定义接口类 //通过id所组成的字符串实现批量删除 public void d...
    99+
    2023-09-16
    java spring 开发语言
  • Linux中Docker镜像如何实现批量删除
    这篇文章主要介绍了Linux中Docker镜像如何实现批量删除,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。批量删除接下来,通过 xargs 批量删除镜像...
    99+
    2023-06-27
  • 批处理如何实现删除重复行
    这篇文章给大家分享的是有关批处理如何实现删除重复行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:@echo off :: 删除重复的行,但不能保留空行 :: 对不符合变量命名规则、变量个数超过限制的文本...
    99+
    2023-06-09
  • linux系统中的批量删除文件与空文件删除命令是什么
    本篇内容主要讲解“linux系统中的批量删除文件与空文件删除命令是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux系统中的批量删除文件与空文件删除命令是什么”吧!linux下面删除文...
    99+
    2023-06-13
  • Oracle中多表关联批量插入批量更新与批量删除操作
    该文章会分为三部分 1.多表关联批量插入 2.多表关联批量更新 3.多表关联批量删除 首先要明白一点,为什么会有批量这一个概念,无非就是数据太多了,在java端把数据查出来然后在按照100-300的批...
    99+
    2022-10-18
  • Python批量删除txt文本指定行的思路与代码
    目录思路:代码:总结本文解决问题:批量删除多行txt文本中的内容。 思路: 1.找出需要删除行的 id(就是需要删除那些行,把这是第几行给记录下来。) 2.将原文本内容不需要删除的行...
    99+
    2023-02-07
    Python批量删除指定行 python删除指定行 python如何删除文件中的某一行
  • mysql 大表批量删除大量数据的实现方法
    问题参考自:https://www.zhihu.com/question/440066129/answer/1685329456 ,mysql中,一张表里有3亿数据,未分表,其中一个字段是企业类型,企业类型是一般企业...
    99+
    2022-05-11
    mysql 大表批量删除 mysql 大表批量
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作