vue结合element-ui使用confirm时,点击了取消或者是关闭弹窗报了Uncaught (in promise) cancel 错误。
原因:因为使用了element-ui的 this.$confirm方法内置promise方法不能去掉 .catch(),如果没有.catch的话无法获取异常。
解决: .then(res => {...}) .catch(()=>{});(then之后把catch加上)
实例
let _self = this
_self.$confirm('此操作将清空该产品下的所有设备, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() = >{
let fd = qs.stringify({
pkey: value
})
_self.vloading = true axios.post(BaseApi + '/iot/product/delIotProduct', fd).then(function(res) {
_self.vloading = false;
if (res.data.code == 0) {
Vue.prototype.$message({
message: '删除成功',
type: 'success'
})
_self.hanldeGetProductList();
} else {
Vue.prototype.$message.error('删除失败:' + res.data.msg)
}
})
}).catch(() = >{})