uni-app移动端app打开自动弹出键盘且无法关闭的bug,uni.hideKeyboard()无效
uni-app移动端app打开自动弹出键盘且无法关闭的bug,uni.hideKeyboard()无效
操作步骤:
- 一直出现
预期结果:
- 一直出现
实际结果:
- 一直出现
bug描述:
【报Bug】一直有个bug uniapp做移动端app总是一打开app就会自动弹出软件键盘,不管有没有输入框聚焦,关键是还关不掉uni.hideKeyboard(),有大佬知道怎么解决这个问题吗
| 信息类别 | 信息内容 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | win10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.2.2 |
| 手机系统 | Android |
| 手机系统版本号 | Android 11 |
| 手机厂商 | 华为 |
| 手机机型 | 红米(测试的安卓机都这样) |
| 页面类型 | vue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于uni-app移动端app打开自动弹出键盘且无法关闭的bug,uni.hideKeyboard()无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
请上传一个能重现问题直接运行的测试工程
更多关于uni-app移动端app打开自动弹出键盘且无法关闭的bug,uni.hideKeyboard()无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我也是这个问题,没找到解决方案
我也遇到了,组件我都关了,刚生成没有,过一天就有了,dcloud太阴了
这个问题通常是由于页面中存在输入框自动聚焦导致的。以下是几种解决方案:
-
检查页面中的 input/textarea 元素:
- 确保没有设置
focus属性或auto-focus属性 - 检查是否有通过
this.$refs.input.focus()等代码触发了聚焦
- 确保没有设置
-
在页面生命周期中处理:
onLoad() { // 延迟隐藏键盘 setTimeout(() => { uni.hideKeyboard() }, 100) } -
在 App.vue 的 onLaunch 中处理:
onLaunch() { // 针对 Android 的特殊处理 #ifdef APP-PLUS if (uni.getSystemInfoSync().platform === 'android') { setTimeout(() => { uni.hideKeyboard() }, 300) } #endif } -
检查 manifest.json 配置:
- 确保没有配置
softinputMode为 “adjustResize” 以外的模式 - 可以尝试设置为 “adjustPan”
- 确保没有配置
-
使用原生处理:
// 在需要隐藏键盘的地方 plus.key.hideSoftKeybord()

