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

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

请添加图片描述

将第一个页面对话框添加属性 :modal-append-to-body="false" ,再来看看跳转之后的页面效果:
请添加图片描述
这下正常了,没有遮罩层了,页面可以正常操作了。

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

Logo

前往低代码交流专区

更多推荐