input会漂浮遮挡modal内容
发布于 6 年前 作者 yang27 2100 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)
  • 预期表现
  • 复现路径
  • 提供一个最简复现 Demo

图里:前面的是一个modal弹窗,而按钮那里出现的是后面的input的值。

为什么会出现这样的情况呀,是我样式问题还是modal跟input的BUG?而且还是个例,安卓的没反映过这个问题,ios的话也只出现过一 两次。所以复现有点麻烦。

出现问题的手机机型为:iphone6  ios12.2

3 回复

遇到同样的问题,input组件覆盖在modal之上,modal的z-index已经设置的足够大了,ios12.x才会遇到,ios其他版本的正常,忘尽快修复,谢谢

我也出现了这个问题,不过是在组件中写的,然后组件被隐藏状态下 input 竟然被渲染了出来。

目测是因为 iOS12.2 底层更新,导致了一些微信的变化,只能等待基础库修复或者微信更新了。

https://developers.weixin.qq.com/miniprogram/dev/component/native-component.html

原生组件

小程序中的部分组件是由客户端创建的原生组件,这些组件有:

原生组件的使用限制

由于原生组件脱离在 WebView 渲染流程外,因此在使用时有以下限制:

  • 原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。

    • 后插入的原生组件可以覆盖之前的原生组件。

  • 原生组件还无法在 <picker-view> 中使用。

  • 部分CSS样式无法应用于原生组件,例如:

    • 无法对原生组件设置 CSS 动画

    • 无法定义原生组件为 position: fixed

    • 不能在父级节点使用 overflow: hidden 来裁剪原生组件的显示区域

  • 原生组件的事件监听不能使用 bind:eventname 的写法,只支持 bindeventname。原生组件也不支持 catch 和 capture 的事件绑定方式。

  • 原生组件会遮挡 vConsole 弹出的调试面板。

在工具上,原生组件是用web组件模拟的,因此很多情况并不能很好的还原真机的表现,建议开发者在使用到原生组件时尽量在真机上进行调试。

cover-view 与 cover-image


为了解决原生组件层级最高的限制。小程序专门提供了 cover-view 和 cover-image 组件,可以覆盖在部分原生组件上面。这两个组件也是原生组件,但是使用限制与其他原生组件有所不同。

回到顶部