需求是echarts柱状图,点击柱体打开弹窗,弹窗里也是柱状图,每次点击柱体,弹窗不关闭,只切换里面的数据
问题是正常情况下,弹窗都是打开后,点其他地方会先关闭当前弹窗,然后再去打开新的弹窗。
给弹窗加:maskClosable=“false” 可以实现点击弹窗外的其他区域不关闭弹窗。但是最后其实是不需要设置这个的
弹窗不关闭之后,就是考虑怎么实现点击不同的柱体切换不同的柱状图。
我花了好几个小时研究,发现没有想象中的那么复杂,不用做判断或者研究谁的层级更高。
在弹窗打开后,我点其他柱体不触发任何事件,这是因为弹窗有自己的遮罩层,最外面的遮罩层没有设宽高,它默认是全屏的。
最关键的解决方法就是自己定义类名,修改这个遮罩层的样式
代码如下:
<a-modal
title="用户申请数量明细"
:width="800"
:wrapClassName="test"
:visible="visible"
:footer="null"
:mask="false"
@cancel="handleCancel"
>
<div class="dictWrapper">
<div id="CheckDictlabelEcharts" style="width: 100%; height: 95%"></div>
</div>
</a-modal>
data() {
return {
visible: false,
test: 'top-200',
}
},
<style >
.top-200{
height: 700px;//只设高度不设宽度
top: -15%;
left: 10%;
}
</style>