不允许退出表单屏幕而不保存

时间:2019-01-12 01:28:25

标签: vue.js vue-router

当用户想要保留输入内容而不保存的表单时,如何向用户发出警报?

我已经尝试在beforeDestroy内部实现某些东西,但是我不能中止输出

我可以中止屏幕输出吗?

router.beforeEach((to, from, next) => {

  if(!store.getters.getStatusEdit){
    next(false);
  }

})

但是它不起作用,因为在beforeDestroy内部运行的vuex在路由之后运行。

有人有什么建议吗?

1 个答案:

答案 0 :(得分:2)

内部组件使用:

beforeRouteLeave (to, from, next) {

        if(this.dados.name){

            if(confirm('confirm?')){

                next()

            }else{ next(false) };

        }else{
            next()
        }
    },