uni-app IOS端键盘收起后有时无法再聚焦
uni-app IOS端键盘收起后有时无法再聚焦
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10企业版 | HBuilderX |
示例代码:
<input name="inPrice" class="weui-input" :value="item.inPrice||''" type="digit" placeholder="请输入" @input="item.inPrice=$event.target.value" />
操作步骤:
<input name="inPrice" class="weui-input" :value="item.inPrice||''" type="digit" placeholder="请输入" @input="item.inPrice=$event.target.value" />
预期结果:
应该是要很顺畅的弹出键盘
实际结果:
有时弹出键盘很慢 有时会出现一切点不动,感觉上面有一层东西遮住似的
bug描述:
最近发现uniapp IOS端,点击input(type=digit)弹起键盘后再收起键盘,再点其他的input输入框就点不中了,有时候还会造成一种上面有一层遮罩层的感觉,点不动任何。
更多关于uni-app IOS端键盘收起后有时无法再聚焦的实战教程也可以访问 https://www.itying.com/category-93-b0.html
5 回复
基座运行是否可以复现,如果可以的话请上传一个示例工程吧,方便测试
更多关于uni-app IOS端键盘收起后有时无法再聚焦的实战教程也可以访问 https://www.itying.com/category-93-b0.html
基座运行也出现同样的问题。自定义基座包太大了,发不过去
回复 m***@126.com: 不是发自定义基座包,是发一个uniapp的示例工程,可以新建一个项目复现一下这个问题
回复 DCloud_iOS_XHY: 一个页面多建几个上面我发的input就可以了
这是一个在uni-app iOS端常见的键盘交互问题,主要与iOS WebView的键盘收起机制和页面重绘有关。以下是几种有效的解决方案:
- 使用
@blur强制触发页面重绘
<input
@blur="handleBlur"
@focus="handleFocus"
/>
methods: {
handleBlur() {
// 强制触发页面重绘
this.$nextTick(() => {
// 可选的滚动复位
window.scrollTo(0, 0)
})
}
}
- 改用uni-app原生输入组件
<uni-easyinput
type="digit"
v-model="item.inPrice"
placeholder="请输入"
/>
- 设置键盘收起时的延迟处理
handleBlur() {
setTimeout(() => {
document.body.style.overflow = 'auto'
}, 100)
}

