uni-app nvue页面input输入框在获取焦点弹出键盘后 点击其他地方或空白处无法失去焦点 并且软键盘无法收起
uni-app nvue页面input输入框在获取焦点弹出键盘后 点击其他地方或空白处无法失去焦点 并且软键盘无法收起
测试过的手机
ios12,ios12 pro max, 华为mate40,华为p40,华为nova5,小米k40,小米10
示例代码:
<input type="text" v-model="texts" placeholder="输入"/>
操作步骤:
<input type="text" v-model="texts" placeholder="输入"/>
预期结果:
在input获取焦点后,点击空白处或页面其他元素会失去焦点,并且软键盘会消失
实际结果:
在input获取焦点后,点击空白处或页面其他元素不会失去焦点,并且软键盘不会消失
bug描述:
nvue页面input输入框在获取焦点弹出键盘后,点击其他地方或空白处,无法失去焦点,并且软键盘无法收起
| 信息类型 | 信息详情 |
|------------------|----------------|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | win10 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.1.12 |
| 手机系统 | 全部 |
| 手机厂商 | 华为 |
| 页面类型 | nvue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于uni-app nvue页面input输入框在获取焦点弹出键盘后 点击其他地方或空白处无法失去焦点 并且软键盘无法收起的实战教程也可以访问 https://www.itying.com/category-93-b0.html
是的都好久了,这个问题都还有,只有不使用nvue 用vue先代替这个界面了 要不实在不行就只有在需要的地方 手动调用 this.$refs.input.blur() 失去焦点和 this.$refs.input.focus() 聚焦
更多关于uni-app nvue页面input输入框在获取焦点弹出键盘后 点击其他地方或空白处无法失去焦点 并且软键盘无法收起的实战教程也可以访问 https://www.itying.com/category-93-b0.html
点击其他地方关闭软键盘uni.hideKeyboard()
我也碰到了!!不能失去焦点!
有解决了的嘛,我也碰到了,this.$refs.input.blur() 这个方法试了好像也没效果
恶心啊,啥时候能解决
有人解决了吗,又遇到这个问题了
解决了吗
都12月还没有官方来关注这个问题,挺严重的bug啊
@touchend.prevent 在使用this.$refs.inputRef.blur()。 就可以
这是一个在 nvue 页面中比较常见的焦点管理问题。由于 nvue 的渲染机制与 vue 页面不同,input 组件在某些情况下确实会出现焦点无法正常失去的情况。
解决方案:
- 使用 blur 方法主动失去焦点
在页面的其他地方添加
@click事件,通过 ref 获取 input 实例并调用 blur 方法:
<template>
<view @click="handlePageClick">
<input ref="myInput" type="text" v-model="texts" placeholder="输入"/>
</view>
</template>
<script>
export default {
methods: {
handlePageClick() {
this.$refs.myInput.blur()
}
}
}
</script>
- 使用 hideKeyboard 方法 在页面点击事件中直接调用 uni.hideKeyboard():
methods: {
handlePageClick() {
uni.hideKeyboard()
}
}

