vue +element 删除按钮操作 (删除单个数据 +删除页码处理 )

1.配置接口deleteItemById: "/api/goods/deleteItemById", //删除商品操作

2.get请求接口

复制代码
//   删除接口  后台给我们 返id
    deleteItemById(params){
        return axios.get(base.deleteItemById,{params})
    }

3.异步请求接口

复制代码
async deleteItemById(id){
        let res = await this.$api.deleteItemById({id})
        console.log('删除',res.data);
        }

4.删除完数据,表格数据也要跟着变动主要是这行代码 this.deleteItemById(row,id) 在删除事件里边操作

复制代码
      handleDelete(index, row) {
        console.log('删除操作---',index, row);
         this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
             this.deleteItemById(row,id)
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消删除'
          });          
        });
      },

5.删除完数据 下边的分页也要处理 在分页事件里边 把val取出来

复制代码
//   分页  因为val是局部变量 在data初始化一个变量 给val传递过去
      CurrentChange(val){
        console.log('分页传过来的',val);
        this.current = val//把this.Current给删除的重新渲染页
        this.projectList(val)
      },

6.传递完了给删除接口拿到页,重新把数据渲染到表格里边

复制代码
// 删除接口
    async deleteItemById(id){
        let res = await this.$api.deleteItemById({id})
        console.log('删除',res.data);
        if(res.data.status===200){
               this.$message({
                type: 'success',
                message: '删除成功!'
            });
            this.projectList(this.current)
        }
    }

7.数据删除了;假如如果当前是最后一页的最后一条数据 删除后 获取上一页的数据 判断 this.total总数目

复制代码
  // 如果当前是最后一页的最后一条数据 删除后 获取上一页的数据  判断 this.total总数目
            if(this.total%this.pageSize === 1){
                this.curent = this.curent -1 > 0? this.current:1;//最好>1
            }

全部代码

复制代码
 <el-button size="mini" @click="handleDelete(scope.$index, scope.row)"  type="danger" icon="el-icon-delete">删除</el-button>

删除接口(里边涉及到 删除事件+分页+和重新渲染)

复制代码
 // 删除接口
    async deleteItemById(id){
        let res = await this.$api.deleteItemById({id})
        console.log('删除',res.data);
        if(res.data.status===200){
               this.$message({
                type: 'success',
                message: '删除成功!'
            });
            // 删除完之后会重新渲染页面
            // 如果当前是最后一页的最后一条数据 删除后 获取上一页的数据  判断 this.total总数目
            if(this.total%this.pageSize === 1){
                this.curent = this.curent -1 > 0? this.current:1;//最好>1
            }
            this.projectList(this.current)
        }
    }

删除事件

复制代码
   handleDelete(index, row) {
        console.log('删除操作---',index, row);
         this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(() => {
             this.deleteItemById(row,id)
        }).catch(() => {
          this.$message({
            type: 'info',
            message: '已取消删除'
          });          
        });
      },

在删除第3页面数据 的时候,想在第3页看表格数据

复制代码
 //   分页  因为val是局部变量 在data初始化一个变量 给val传递过去
      CurrentChange(val){
        console.log('分页传过来的',val);
        this.current = val//把this.Current给删除的重新渲染页
        this.projectList(val)
      },

data里边初始化

复制代码
current =1
相关推荐
福兮说8 分钟前
纯前端把图片压缩到指定体积:canvas.toBlob 配合二分查找
前端·javascript·canvas·图片处理
是立不是利13 分钟前
CSS 入门与进阶:从选择器到响应式布局的完整指南
前端·css
镭立智能制造19 分钟前
电线电缆换线频繁?MES系统如何缩短换线时间40%
前端·制造
志尊宝22 分钟前
Vue3 零基础每日笔记(018):按键与鼠标修饰符——回车搜索、Ctrl+S 保存这样写
javascript·vue.js·笔记
Amos_Web1 小时前
Rspack 源码解析(五):CodeGenerationPass 与模块代码生成
前端·前端框架·源码阅读
八荒启·交互动画1 小时前
Web特效06——WebGL深挖:顶点着色器和片元着色器到底在干什么
前端·网页特效·八荒启-交互动画·八荒启
这锅我不背哈1 小时前
前端权限控制实践:基于 RBAC 的完整落地方案
前端
可乐鸡翅yeah_1 小时前
HLS流媒体首屏起播慢深度优化,从分片、索引、播放器全链路调优
开发语言·javascript·ecmascript·m3u8·m3u8在线
星空1 小时前
Map<String, String>`Map`是接口,不能直接 new
java·前端·算法
开开心心就好2 小时前
低年级识字练笔顺工具,电脑和安卓端都能用
前端·javascript·网络·安全·scala·erlang·语音识别