uniapp小程序中textarea层级过高问题

本文探讨了微信小程序中原生组件如camera、canvas等层级过高的问题,并提供了两种解决方案:一是通过v-if控制组件显示并调整样式防止位置偏移;二是使用cover-view和cover-image替代常规组件以实现覆盖。
部署运行你感兴趣的模型镜像

微信小程序原生组件camera、canvas、input(仅在focus时表现为原生组件)、live-player、live、pusher、map、textarea、video的层级是最高,在小程序中设置无论多大的z-index都无法覆盖其层级,经常遇到的场景比如在自定义弹框组件或遮罩层时,如下图:

 

 

解决办法 

        1. 使用v-if控制textarea的显示隐藏,当弹框组件显示时,让其隐藏,关闭组件则显示出来,这个办法虽然可以解决此坑,但是这样我碰到了另外一个问题,当弹框消失输入框显示出来时会导致placeholder位置错乱,整个teaxtarea输入位置发生很大位置的偏移,最后我的解决办法是(弹框显示,宽高变为0,超出隐藏)

	<textarea :disabled="evalUser ? '' : 'disabled'" class="replycss text_font_size text-demo":class="{hiddenText: audioFlag}" maxlength="-1" placeholder="在此输入内容"
	v-model="item.attrObj.answer" placeholder-class="lightgray_font"
	placeholder-style="color: #797575; font-size: 28rpx; letter-spacing: 2rpx"
	style="padding-left: 20rpx; padding-top: 20rpx;" />


	.hiddenText {
		width: 0 !important;
		overflow: hidden;
	}

         2. 使用cover-view和cover-image来替代view和image,可以覆盖部分原生组件的层级,

		<cover-view class="alert-level" v-if="levelFlag"></cover-view>
		<cover-view class="level-tests" v-if="levelFlag">{{levelText ? levelText : '暂无观察点'}} </cover-view>
		<cover-view class="level-hidden" v-if="levelFlag" @click="hiddenLevel">
			<cover-image src="../../static/cha.png" style="width: 100%; height: 100%;"></cover-image>
		</cover-view>

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山楂树の

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值