广告
返回顶部
首页 > 资讯 > 移动开发 >解决微信小程序tabBar自定义弹窗遮挡不住
  • 552
分享到

解决微信小程序tabBar自定义弹窗遮挡不住

微信小程序小程序微信 2023-09-01 10:09:00 552人浏览 泡泡鱼
摘要

背景 最近开发微信小程序发现一个问题,就是微信小程序官方自带的tabbar层级很高,自定义modal盖不住tabbar的问题;翻阅官方的社区,很多同学说 设置z-index:99999;可以解决这个问

背景

最近开发微信小程序发现一个问题,就是微信小程序官方自带的tabbar层级很高,自定义modal盖不住tabbar的问题;翻阅官方的社区,很多同学说 设置z-index:99999;可以解决这个问题,我实践下来是有问题的;iOS是解决不了问题;经过反复实践有两种方法可以解决问题;

方法一:自定义tabbar

这个方法就是完全放弃微信官方的tabbar;自己用SPA的方式去实现一个tabbar; 这个方法的优点

  • tabbar能自己定制化;顺手也解决了盖不住的问题;缺点在于:
  • 要自己实现微信官方的实现的功能比如wx.switchTab等基础功能
  • 需要自己实现路由管理
  • 需要比较大测试成本整体实现成本还是比较大的,具体实现方法这里不做演示,感兴趣的可以自行找相关的文章;社区有许多这个文章。

方法二:套用原生提供的tabbar自定义功能,嵌套自己的tabbar组件

具体实现方法如下:第一步:开启原生的自定义tabbar功能:

// app.JSON加入以下代码"tabBar": {"custom": true,"list": [{"pagePath": "pages/index/index","text": "首页"},{"pagePath": "pages/account/index","text": "我的"}]}, 

第二步:在根目录创建空的tabbar

// custom-tab-bar/index.js// custom-tab-bar/index.json// custom-tab-bar/index.wxml// custom-tab-bar/index.wxss// index.wxml// index.jsComponent({});// index.json{"component": true} 

第三步:创建件自己的tabbar组件

// wxml{{ item.text }}// jsmethods: {handleClick(e: WechatMiniprogram.CustomEvent) {const { path, index } = e.currentTarget.dataset;const { list } = this.data;wx.switchTab({url: path,});}, 

第四步:使用页面正常使用自己的tabbar组件

// wxml// json{"usinGComponents": {"tab-bar": "../../components/business/tab-bar"}} 

解决问题方法大致思路就是这些,方法的优点是:能比较快速的解决遮挡不住的问题;且支持原生小程序tabbar的大部分功能 方法的缺点是:

  • page 生命周期 onTabItemTap 不可以触发,需要自己实现
  • Icon 第一次切换会闪一下

总结

方法二相比方法一来说;实现成本低的多,适合时间紧任务重的时候作为临时的解决方案,但是,总体来说还是比较hack的一种方式,如果有时间的话可以自己实现tabbar为上上策;顺便吐槽一下,为啥官方社区都是说用z-index解决,可是明显不行啊

成果

最后

最近找到一个Vue的文档,它将VUE的各个知识点进行了总结,整理成了《Vue 开发必须知道的36个技巧》。内容比较详实,对各个知识点的讲解也十分到位。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

来源地址:https://blog.csdn.net/weixin_53312997/article/details/128919620

--结束END--

本文标题: 解决微信小程序tabBar自定义弹窗遮挡不住

本文链接: https://www.lsjlt.com/news/388117.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作