微信小程序使用van-tabs组件,ios真机z-index层级错乱问题【已解决,ios自定义组件层级不穿透】

一、这是模拟器上的效果

在这里插入图片描述

在这里插入图片描述

二、这是苹果11真机上的效果(安卓真机正常)

在这里插入图片描述

三、先来理一下代码的层级现状

在这里插入图片描述

  • A 为van-tabs
  • B 是自定义组件,为数据列表,C为单个数据
  • D 也是自定义组件(图中省略)为单个数据详情弹窗,且D是B的子组件!

在z-index层级上

  • A是相对定位,B、C无定位,所以A>B
  • D设置z-index 9999 但不生效

四、理清楚之后,有一个大胆的猜想:

B、D均为自定义组件,且D是B的子组件,会不会导致D的层级最高只能和B一样高?导致不能穿透B,所以被A组件盖住?

五、调整组件父子关系

为了验证是否有这个问题,我将组件D从组件B中剥离,放在与A、B同级的wxml引入,果然,苹果11上恢复正常

在这里插入图片描述

为了更好的理解这个问题,所以我将其定义成:ios自定义组件层级不穿透。正确的做法,把需要有更高层级的组件,放在更外层

欢迎留言,我们一起探索更多~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值