加载cesium时,地球出现后不能操作,刚开始以为cesium引用出现问题,控制台也没报错,最后发现时引用的element-plus抽屉组件存在遮罩层的原因
由于抽屉组件存在遮罩层,虽然设置:modal="false"不显示遮罩层,但是遮罩层只是变为透明,但是仍然存在,点击事件失效
<el-drawer
v-model="drawer"//是否显示 Drawer
modal-class="drawer"//遮罩层自定义类名
direction="ltr"//Drawer 打开的方向,'rtl' | 'ltr' | 'ttb' | 'btt'
:with-header="false"
:modal="false"//是否需要遮罩层
:close-on-click-modal="false"//是否可以通过点击 modal 关闭 Drawer
style="
background-color: rgba(15, 66, 119, 0.5);
height: 70%;
margin-top: 130px;
"
size="250px"
:z-index="2"
>
查看元素,遮罩层没有类名,添加自定义类名 modal-class="drawer",网上找的css样式应用后不起作用
最后发现是因为局部样式造成的样式不起作用,使用样式穿透,问题解决
// 覆盖层元素增加可穿透点击事件
:deep(.drawer) {
pointer-events: none;
}
// 弹窗层元素不可穿透点击事件(不影响弹窗层元素的点击事件)
:deep(.el-drawer__body) {
pointer-events: auto;
}