vue 点击删除常用方式小结

目录
  • 点击删除常用方式
    • 1、根据id删除对应数据
    • 2、根据下标删除对应数据
    • 3、通过接口方式删除数据
  • vue删除功能
    • 1、删除
    • 2、点击事件方法

点击删除常用方式

1、根据id删除对应数据

<!-- 点击传入当前点击的数据 -->
<el-button type="dangerous" @click="handleClickDelProduct(scope.row)">删除</el-button>
//ES6
//根据id查找元素 findIndex
//函数内如果返回true,就结束遍历并返回当前index;
//index如果没有找到返回-1
  handleClickDelProduct(row) {
        let index = this.newList.findIndex((product) => {
          return row.id == product.id
        })
        if (index !== -1) {
          this.newList.splice(index, 1)
        }
    },

2、根据下标删除对应数据

<!-- 点击传入当前点击的下标 -->
    <div v-for="(item,index) in list" :key="index">
        <div @click="deletes(index)">
            {{item.name}}
        </div>
    </div>
//拿到当前下标 通过splice方法删除当前下标所在数据
//index就是点击事件传过来的参数 下标
   deletes(index){
        this.list.splice(index, 1)
     }

3、通过接口方式删除数据

<!-- 点击传入当前点击的数据 -->
 <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
//row获取到点击事件传来的参数
handleDelete(row) {
      this.$confirm("确定删除?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
      // 确认删除
        .then(() => {
        //删除接口只需要传个id就行了 id是当前点击事件传过来的的id 
          removedata({
            id: row.id,
          }).then((res) => {
            if (res.code == 200) {
              this.$message.success("删除成功");
              //删除成功 回调列表接口 
              this.getData();
            } else {
              this.$message.error(res.msg);
            }
          });
        })
        //取消删除
        .catch(() => {
          this.$message({
            type: "info",
            message: "已取消删除",
          });
        });
    },

vue删除功能

1、删除

<el-table-column label="状态">
// 获取当前行的所有数据
  <template slot-scope="scope">
  // 在这里添加点击事件方法 使用上边获取当前行所有数据 传入id值
      <el-button type="danger" icon="el-icon-delete" circle @click="delInfo(scope.row.id)"></el-button>
   </template>
</el-table-column>

2、点击事件方法

async delInfo (id) {
      this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(async () => {
      // 调接口 赋值给 res
        const { data: res } = await this.$ajax.delete('users/' + id)
        // 判断状态 返回成功或失败
        if (res.meta.status !== 200) return this.$message.error('删除失败')
        this.$message.success('删除成功')
        // 重新渲染页面
        this.getUserList()
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        })
      })
    }

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

(0)

相关推荐

  • vue点击按钮动态创建与删除组件功能

    主要功能需求点: 点击左侧组件库按钮创建对应的不同的组件,并在右侧区域展示 点击右侧创建的组件中的删除按钮,删除对应的组件 删除对应的组件之后,下方的组件位置自动上移 效果图: 代码: 父组件代码(去除了css样式代码): <template> <div class="home"> <div class="container"> <div class="addZujian"> <div>

  • Vue实现多图添加显示和删除

    本文实例为大家分享了Vue实现多图添加显示和删除的具体代码,供大家参考,具体内容如下 效果图: 首先给一个input[type="file"],然后隐藏掉,当点击加号所在的区域时,触发文件选择的点击事件. 注意:取src的值时用v-bind:src="imgsrc";用src="imgsrc"或者src="{{imgsrc}}"会报错. 代码:(有些样式省略,主要是添加和删除方法) <template> <d

  • vue 实现删除对象的元素 delete

    目录 删除对象的元素delete vue根据id删除某一行 删除对象的元素 delete data中定义一个form   data: {     seen: true,         from:{         id:'',         name:'',         age:'',     }   } 现在不需要age元素 删除 delete this.from.age; 场景form表单提交的时候新增的数据和编辑页面公用一个页面 ,在添加的时候不需要id而就可以delete删除id

  • 详解vue添加删除元素的方法

    相关版实例代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vue实例:添加删除元素r</title> <style type="text/css"> .form-group{ margin:10px; } .form-group>label{ displa

  • vue 点击删除常用方式小结

    目录 点击删除常用方式 1.根据id删除对应数据 2.根据下标删除对应数据 3.通过接口方式删除数据 vue删除功能 1.删除 2.点击事件方法 点击删除常用方式 1.根据id删除对应数据 <!-- 点击传入当前点击的数据 --> <el-button type="dangerous" @click="handleClickDelProduct(scope.row)">删除</el-button> //ES6 //根据id查找元素

  • Selenium Webdriver元素定位的八种常用方式(小结)

    在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下. 1. By.name() 假设我们要测试的页面源码如下: <button id="gbqfba" aria-label="Google Search" name="btnK" class="gbqfba"><

  • python里读写excel等数据文件的6种常用方式(小结)

    下面整理下python有哪些方式可以读取数据文件. 1. python内置方法(read.readline.readlines) read() : 一次性读取整个文件内容.推荐使用read(size)方法,size越大运行时间越长 readline() :每次读取一行内容.内存不够时使用,一般不太用 readlines() :一次性读取整个文件内容,并按行返回到list,方便我们遍历 2. 内置模块(csv) python内置了csv模块用于读写csv文件,csv是一种逗号分隔符文件,是数据科学

  • vue动态绑定class的几种常用方式小结

    本文实例讲述了vue动态绑定class的几种常用方式.分享给大家供大家参考,具体如下: 对象方法 最简单的绑定(这里的active加不加单引号都可以,以下也一样都能渲染) :class="{ 'active': isActive }" 判断是否绑定一个active :class="{'active':isActive==-1}" 或者 :class="{'active':isActive==index}" 绑定并判断多个 第一种(用逗号隔开) :

  • vue组件传值的实现方式小结【三种方式】

    本文实例讲述了vue组件传值的实现方式.分享给大家供大家参考,具体如下: 前言 vue的组件传值分为三种方式:父传子.子传父.非父子组件传值 引用官网的一句话:父子组件的关系可以总结为 prop 向下传递,事件向上传递 父组件通过 prop 给子组件下发数据,子组件通过事件给父组件发送消息,如下图所示: 下面我们就开始用代码(一言不合就上代码)详细的介绍vue组件传值的三种方式 1.父传子 子组件的代码: <template> <div id="container"&

  • JAVA中单元测试的常用方式(小结)

    什么是单元测试 单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元就是单个程序.函数.过程等:对于面向对象编程,最小单元就是方法,包括基类(超类).抽象类.或者派生类(子类)中的方法. 通常来说,程序员每修改一次程序就会进行最少一次单元测试,在编写程序的过程中前后很可能要进行多次单元测试,以证实程序达到软件规格书要求的工作目标,没有程序错误:虽然单元测试不是什么必须的

  • js创建对象的几种常用方式小结(推荐)

    第一种模式:工厂方式 复制代码 代码如下: var lev=function(){ return "我们"; }; function Parent(){ var Child = new Object(); Child.name="脚本"; Child.age="4"; Child.lev=lev; return Child; }; var x = Parent(); alert(x.name); alert(x.lev()); 说明: 1.在函数

  • vue清空数组的几个方式(小结)

    目录 1. 前言 2. 清空数据的几种方式 2.1 使用ref() 2.2 使用slice 2.3 length赋值为0 2.4 使用splice 3. 总结 1. 前言 前两天在工作当中遇到一个问题,在vue3中使用reactive生成的响应式数组如何清空,当然我一般清空都是这么写: let array = [1,2,3]; array = []; 不过这么用在reactive代理的方式中还是有点问题,比如这样: let array = reactive([1,2,3]); watch(()=

  • vue 点击按钮 路由跳转指定页面的实现方式

    目录 点击按钮 路由跳转指定页面 最终效果 vue跳转页面常用的方式 1:router-link跳转 2:this.$router.push() 3.this.$router.replace() 4.this.$router.go(n) ps : 区别 点击按钮 路由跳转指定页面 最终效果 点击指定按钮,跳转指定 /login 页面 代码: <button @click="gotolink" class="btn btn-success">点击跳转页面&

  • Vue路由跳转的4种方式小结

    目录 1. 标签路由 router-link 2.编程式路由 this.$router.push() 3.this.$router.replace()(与this.$router.push()类似) 4.this.$router.go(n) 5.this.$router.push().this.$router.replace().this.$router.go(n)区别 router-view 实现路由内容的地方,引入组件时写到需要引入的地方,需要注意的是,使用vue-router控制路由则必须

随机推荐