element 弹窗浏览器后退-遮照层还存在问题 以及跟vue keep-alive冲突

问题:element 弹窗浏览器后退-遮照层还存在问题

查询官网可以设置 modal-append-to-body=“false”
在这里插入图片描述

可以全局设置
ElementUI.Dialog.props.modalAppendToBody.default = false

后续
基本到这能解决问题,不过本项目比较特殊,使用了 keep-alive缓存页面,导致浏览器后退页面是能关闭遮照,但是再次打开弹窗关闭,会出问题。

解决:
浏览器后退,人为将弹窗关闭

封装的弹窗组件内
window.addEventListener('popstate', this.onPopState);

onPopState () {
   this.$emit('update:show', false); // 更新父组件show
   window.removeEventListener('popstate', this.onPopState);
 },

你可能感兴趣的:(vue.js,前端,javascript)