在el-dialog中进行Vue的路由跳转,跳转后出现遮罩层?

某个需求需要在路由 /systemSettle/Application 的一个页面中的对话框中进行路由跳转,至另一个页面下,如图所示(涉及公司内部业务,已部分打码):

在el-dialog中进行Vue的路由跳转,跳转后出现遮罩层?_第1张图片
点击跳转之后,跳转至路由 /systemSettle/payways 下的页面。如图所示:
在el-dialog中进行Vue的路由跳转,跳转后出现遮罩层?_第2张图片
但是此时发现页面被一整个遮罩层遮住了,页面中的内容都无法点击,这是什么情况
打开控制台,如图所示:
在el-dialog中进行Vue的路由跳转,跳转后出现遮罩层?_第3张图片
果然有个遮罩层,这是哪里来的呢?原来我以为是项目中封装的,但是搜索了一下并没有这个东西。于是去ElementUI的官网找一下el-dialog,点开对话框之后打开控制台:
在el-dialog中进行Vue的路由跳转,跳转后出现遮罩层?_第4张图片
原来如此,这个类名为v-model的遮罩层是对话框的遮罩,但是为什么跳转之后遮罩还在呢?往下翻一翻属性,看到了这个:

请添加图片描述

将第一个页面对话框添加属性 :modal-append-to-body="false" ,再来看看跳转之后的页面效果:
在el-dialog中进行Vue的路由跳转,跳转后出现遮罩层?_第5张图片
这下正常了,没有遮罩层了,页面可以正常操作了。

总结一下: modal-append-to-body 这个属性是用来设置遮罩层是插入到body下还是组件下,默认是在body下,和#app根元素是并列的。所以切换路由不会销毁数据,遮罩层就一直显示了。

你可能感兴趣的:(业务技巧,vue.js,elementui)