路由守卫beforeRouterLeave可以在页面跳转前进行提示用户是否离开,从而避免一些用户的误触导致的页面内容未保存
而这次通过elementUI的$confirm添加提示的时候发现弹窗一闪而逝,闪了一下就不见了,但是路由还跳转了,页面还处在当前页面…
网上找了一圈,终于找到一个解决办法吧
地址:$confirm 在 vue-router 中 beforeRouteLeave 调用出现闪烁后消失情况
这个办法暂时能解决这个问题,暂时没找到其他好的方法
代码如下:
beforeRouteLeave (to, from, next) {
next(false)
setTimeout(() => {
this.$confirm('确认退出编辑?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
next()
}).catch(() => { })
}, 0)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。