input层级高 小程序_解决微信小程序input、textarea层级过高穿透问题

本文详细介绍了微信小程序中camera、canvas等原生组件层级最高导致的覆盖问题,以及input在聚焦时穿透到选择列表的问题。提出了两种解决方案:1) 使用if条件隐藏input;2) 使用cover-view和cover-image组件覆盖原生组件。并提供了具体实现代码示例,帮助开发者解决此类问题。
摘要由CSDN通过智能技术生成

微信小程序原生组件camera、canvas、input(仅在focus时表现为原生组件)、live-player、live、pusher、map、textarea、video的层级是最高的,页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。从图中效果可以看出input输入的内容穿透到了选择列表自定义组件,解决办法:  1、使用if,当触发选择列表时隐藏input或textare组件,选择完成点击确认关闭选择列表,显示input或textare。  2、选择列表自定义组件使用 cover-view 和 cover-image 组件代替view和image,cover-view 和 cover-image 组件,可以覆盖在部分原生组件上面。cover-view class=”cover-view” style=”{{height}}” wx:if=”{{isShowModel}}”    cover-view class=”selectModel”      cover-view class=”model” @tap=”onShowOrHideModel()”/cover-view      cover-view class=”modelBox”        cover-view class=”title”{{title}}(可多选)/cover-view        cover-view class=”list”          block wx:for=”{{waitClassifyNamesList}}” wx:key=”{{index}}”            cover-view class=”li” @tap=”onClickSelect({{item.optionCode}})”              cover-image wx:if=”{{filter.isInclude(item.optionCode,classifyIds)}}” class=”icon” src=”/image/signatory/selected.png”/cover-image              cover-image class=”icon” src=”/image/signatory/unSelect.png” wx:else/cover-image              cover-view class=”name”{{item.optionName}}/cover-view            /cover-view          /block        /cover-view        cover-view class=”btn” @tap=”onSubmitSelectService”确认/cover-view      /cover-view    /cover-view  /cover-view两种方式的实现效果如上图,至于选择何种方式,根据实际需求来选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值