看了前面几位老哥的解答,我今天也遇到了这个问题,用了done()还是会弹出来
Axios.interceptors.response.use(
response => {
// token过期
if(response.data.code === 401){
MessageBox.confirm('token过期,请重新登录', '提示', {
confirmButtonText: '确定',
type: 'warning',
showClose: false,
showCancelButton:false,
closeOnClickModal: false,
closeOnPressEscape: false,
beforeClose: (action, instance, done) => {
done(); // 这儿加了还是不行,在登录页面还是会弹出
}
}).then(() => {
router.replace({
name:'login'
})
}).catch(() => {});
return false;
}
最后只有在login页面,加了节点删除来规避这个问题。
mounted(){
var el_message_box = document.querySelector('.el-message-box__wrapper')
var v_modal = document.querySelector('.v-modal')
if(el_message_box && v_modal){
el_message_box.parentNode.removeChild(el_message_box)
v_modal.parentNode.removeChild(v_modal)
}
},