解决多选删除页面不同步问题

文章介绍了在前端开发中,当删除接口不支持批量ID时,如何利用Promise.all来处理多选删除操作,包括创建Promise列表、循环调用API并处理异步结果,确保删除成功或显示错误信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多选删除一般有两种情况:

1,删除接口支持传多个id,这是最理想的方法,建议大家积极与后端进行沟通解决。之后只需要判断接口回调刷新页面即可!

2,删除接口不支持传多个id,这就是接下来我们要处理的情况,利用promise.all来解决,亲测有效,接下来尽量用最通俗的语言和代码为大家解释!

if (this.selectRows.length > 0) {        //以下为多选方法*******
          const ids = this.selectRows.map((item) => item.id);//取出所有需要删除的id*****
          this.$confirm("你确定要删除选中项吗", "提示", {
            confirmButtonText: "确定",
            cancelButtonText: "取消",
            type: "warning",
            center: true,
          })
            .then(() => {
              var promiseList = new Set();//生成一个唯一的集合******
              ids.forEach(async (item) => {//循环操作添加promise*****
                let promise = function () {
                  return new Promise(async (resolve) => {
                    let res = await crmCustomerDel(item);//crmCustomerDel为删除api ******
                    if (res.code == 200) {
                      resolve();
                    }
                  });
                };
                promiseList.add(promise());
              });
              Promise.all(promiseList)
                .then(async (result) => {
                  this.getInfo();//为页面初始化方法******
                  console.log(result);
                })
                .catch((error) => {
                  console.log(error);
                });
              this.$message({
                type: "success",
                message: "删除成功!",
              });
            })
            .catch(() => {
              this.$message({
                type: "error",
                message: "删除失败",
              });
            });

之后大家复制这段代码,更改为自己的删除api即可,最后希望帮到你,回来帮我点个赞!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值