最近,在做一个土地划块的微信小程序,需要使用map组件。根据业务需求,需要在map上弹出一个模态框。由于map组件是原生组件,层级最高。导致模态框被覆盖在map组件下面。百度了很多,都说使用cover-view解决。但是我要是使用组件,就无法达到效果了。于是,我喝了一杯咖啡,思考着如何解决。突然,灵光一现,种种方案涌入脑海。最后我选择了下面这个方案。供大家参考。
我们可以使用view组件将map组件包住,设置hidden属性。点击按钮显示模态框,隐藏map。
<modal title="modal对话框" hidden="{{visible}}" confirm-text="确定" cancel-text="取消" bindconfirm="handleClose" bindcancel="handleClose">您好,我是modal对话框</modal>
<view hidden='{{!visible}}'>
<map
id="map"
markers="{{markers}}"
longitude="{{longitude}}"
latitude="{{latitude}}"
polygons="{{polygons}}"
scale="16"
bindcontroltap="controltap"
bindmarkertap="markertap"
bindregionchange="regionchange"
bindtap="ce"
show-location
style="width: 100%; height:350px;">
</map>
</view>
亲测,可以。解决问题之后,就是得劲。哈哈!写个博客,分享给大家。