提示报错有两种情况:
1.Uncaught (in promise) cancel错误,
原因:没有在.then后面添加.catch(()=>{})。this.$confirm方法内置promise方法, 取消操作时,promise方法无法捕获,虽然不影响操作,但操作台报错。
解决办法:在.then后面添加上.catch(()=>{})
del() {
let self = this
if (!this.selectedNode) {
this.$message.warning('请选择要删除的信息')
return
}
// 确定要将选中的所有层级信息删除吗?
self
.$confirm('信息删除将无法找回,请仔细确认是否删除所选信息!', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
.then(() => {
return remove(self.selectedNode.id)
})
.then(() => {
self.onLoad(self.page)
self.$message({
type: 'success',
message: '操作成功!',
})
this.loadTree()
})
//报错之处,把.catch(()=>{})加上即可
.catch(() => {})
},
重点:在this.$confirm方法后加上 .catch(() => {})
2.Uncaught runtime errors:ERROR cancel
原因:此处原因有二,之一可能是在.then外面还有判断语句,导致取消操作时,promise方法无法捕获。另外就是和第一点相同,没加.catch(()=>{})
解决办法:加上.catch(()=>{})以及加在最外部
del(userid,money){
this.$confirm('您确认删除吗?','提示',{confirmButtonText: "确认", cancelButtonText: "取消", type:"warning"}).then(response=>{
if(money==='0.00'){
this.$request.delete('user/delete/'+userid).then(res=>{
if(res.code==='200'){
this.$message.success('删除成功')
this.load(1)
}
else{
this.$message.error(res.msg)
}
}).catch(()=>{}) //此处加上与不加.catch(()=>{})都不会影响代码正常运行
}
else{
this.$message.warning('用户余额不为零,删除失败!')
}
}).catch(()=>{}) //在此处加上.catch(()=>{})即可
},