使用cover-view解决微信小程序地图map等原生组件层级问题

2018-02-26 微构网络 技术开发

微信小程序的map、video、canvas、camera等组件都是原生组件,层级是最高的,并不能像原生开发那样使用z-index来控制层级。

解决方法可以采用切换隐藏等方式来做,然而地图组件如果采用这种方式来做就会变得不便。实际上从1.4.0基础库中增加了一个组件cover-view,用于在map、video、canvas、camera等原生组件上显示基础原生视图。在去年9月份的时候,这个问题还在微信官方团队在长沙的分享会上介绍到的,并以摩拜单车小程序举例。

具体可以参考官方文档关于cover-view介绍,同时还有一个“孪生”的组件,就是cover-image,用于在cover-view中显示图片。

如下图的小demo就是利用这些组件,其中地图上的四个模块(搜索框、定位按钮、切换按钮、个人中心入口)都是利用cover-view来构造的。

需要注意的是,cover-view和cover-image这两个组件仅能够嵌套在map、video、canvas、camera等原生组件里面,虽然在1.9.0开始支持嵌套在view,但嵌套到view中不是它本身的意义了。

另外需要注意的是,这两个组件css不是支持所有的属性,只支持基本的定位、布局、文本样式。不支持设置单边的border、background-image、shadow、overflow等。

微信与项目经理沟通

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

阅读 30316
首页 服务 案例 博客 知识