uni-app使用uView打开弹出层后输入框聚焦时placeholder错位问题

这里就不放效果了,大概意思就是在使用uView的popus时,在底部弹出后,如果弹窗中的输入框会造成一瞬间的placeholder文字错位,这个问题的主要是因为uView安全区适配导致

uView相关文档

python 复制代码
https://www.uviewui.com/components/safeAreaInset.html

popus源码

它会自动判断在并且在IPhone X等机型的时候,给元素加上一个适当底部内边距,从而为了防止用户点击相关按钮时候误触。就像这样:

可以在真机测试的时候通过真机控制台删除安全距离生成元素,就会发现已经没有了之前的placeholder错位问题

解决方案:
popup组件中动态绑定safeAreaInsetBottom的值,在每次键盘高度变化的时候取反,并且在每次键盘失去焦点的时候恢复底部安全距离,从而实现页面上推,键盘弹出时候,因为安全距离而导致的placeholder错位问题

html 复制代码
<u-popup :show="show" @open="popupOpen" :safeAreaInsetBottom="safeArea">
js 复制代码
data() {
	return {
		safeArea: true
	}
},
js 复制代码
// 键盘高度变化事件(解决iphoneX底部安全距离导致的placeholder错位问题)
keyboardheightchange() {
	this.safeArea = !this.safeArea
},
// 输入框失焦
inputBlur() {
	this.safeArea = true
},
相关推荐
장숙혜3 分钟前
ElementUi的tabs样式太难修改,自定义tabs标签页
前端·javascript
用户21411832636023 分钟前
dify案例分享-魔搭+Dify王炸组合!10分钟搭建你的专属 生活小助理
前端
工呈士4 分钟前
HTML与安全性:XSS、防御与最佳实践
前端·html·xss
WEI_Gaot7 分钟前
zustand 基础和进阶
前端·react.js
程序员Qian10 分钟前
从开发天气MCP服务入门什么是MCP
前端
用户20311966009611 分钟前
sheet的基本用法
前端
火星思想17 分钟前
都2025年了,还在问构建工具是干嘛的?
前端·前端框架·设计
杨进军20 分钟前
MutationObserver 实现 iframe 自适应高度
前端
火星思想21 分钟前
Promise 核心知识点(非基础)
前端·javascript·面试
前端大白话22 分钟前
炸裂!10个 React 实战技巧,让你的代码从“青铜”秒变“王者”
前端·javascript·react.js