今天做一个demo时碰到了Vue.js前台报Uncaught (in promise) cancel的错误,虽然不影响操作但是看见了心里不爽,于是在网上找了一些资料,总结如下

原因:

this.$confirm方法内置promise方法,
所以不能把.catch()去掉(因为取消操作时,无法捕获)

解决办法:

//在this.$confirm方法后加上.catch方法即可,注意要写上空方法体,我第一次没写没去掉
del: function (pageId) {
        this.$confirm('您确认删除吗?', '提示', {}).then(() => {

          //调用服务端接口
          cmsApi.page_del(pageId).then(res => {

            if (res.success) {
              this.$message.success("删除成功")
              //刷新页面
              this.query()
            } else {
              this.$message.error("删除失败")
            }
          })
        }).catch(()=>{});//注意这里,这里是重点!!!
      }
Logo

前往低代码交流专区

更多推荐