某个需求需要在路由 /systemSettle/Application
的一个页面中的对话框中进行路由跳转,至另一个页面下,如图所示(涉及公司内部业务,已部分打码):
点击跳转之后,跳转至路由 /systemSettle/payways
下的页面。如图所示:
但是此时发现页面被一整个遮罩层遮住了,页面中的内容都无法点击,这是什么情况
打开控制台,如图所示:
果然有个遮罩层,这是哪里来的呢?原来我以为是项目中封装的,但是搜索了一下并没有这个东西。于是去ElementUI的官网找一下el-dialog,点开对话框之后打开控制台:
原来如此,这个类名为v-model的遮罩层是对话框的遮罩,但是为什么跳转之后遮罩还在呢?往下翻一翻属性,看到了这个:
将第一个页面对话框添加属性 :modal-append-to-body="false"
,再来看看跳转之后的页面效果:
这下正常了,没有遮罩层了,页面可以正常操作了。
总结一下: modal-append-to-body
这个属性是用来设置遮罩层是插入到body下还是组件下,默认是在body下,和#app根元素是并列的。所以切换路由不会销毁数据,遮罩层就一直显示了。