uni-app nvue android input输入框系统默认google输入法,输入不了英文
uni-app nvue android input输入框系统默认google输入法,输入不了英文
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | 21H1 | HBuilderX |
示例代码:
<input class="uni-input" placeholder="" />是的,类似的情况。。。
回复 灳灳: 感谢您的反馈 ,已加分,相关负责组已在排查
回复 DCloud_UNI_Anne: 什么时候能解决呀,相关问题的反馈都追溯到了11.2,确认是11.5,都一个月过去了。客户都发飙了。。。
回复 灳灳: 我这app即将上线,结果出这么严重的bug,人傻了,3.2.9版本还是好的,最近几次更新全都没修复这个问题
回复 d***@whaiw.com: 直接影响就是不能登录注册,整个人都不好了
相同问题 https://ask.dcloud.net.cn/question/133523
从确认Bug到现在,一个多月,官方一个月不行动,只得自己动手解决
https://ext.dcloud.net.cn/plugin?id=6890
如果插件未审核通过,请通过附件使用插件
附件解压到 nativeplugins 目录下,然后App原生插件配置->本地插件 选择 ZhuiInput
回复 灳灳: 想请教一下,写原生 组件 插件,样式如何给,是在uni里面写 还是在原生工程里面写,我也想过自己写个原生输入框,但是样式这块实在是不知道怎么弄,还有一个问题就是uni提供的输入框 软键盘抬起,可以把输入框页面顶上去,这一点自己写原生输入框插件就得自己处理这些事了,不知道是不是这样的
回复 灳灳: 我还想过另一个解决方案,就是nvue 转成 vue,虽然可以解决输入框问题,但是转完之后样式就不一样了。。。 1rpx border 在vue里面变得很粗,不知道为什么,字体大小也不一样,然后编译模式也不能用纯nvue了。。。
回复 d***@whaiw.com: 基本的样式可以在uni直接使用,比如padding,margin,background,特殊的可能就要原生去支持了
苹果不适配吗
回复 g***@gmail.com: 苹果没有这个问题。。。就用原生的吧
回复 守护: 先确认是否与贴主问题一致。
问题分析:
在 nvue 页面中,Android 端使用 Google 输入法时,<input> 组件可能因渲染引擎差异导致英文输入异常。这通常与 nvue 的原生渲染机制及输入法兼容性有关。
解决方案:
-
检查
input属性配置
确保type属性未错误限制输入类型(如误设为number或idcard)。若需英文输入,可尝试显式设置type="text":<input class="uni-input" type="text" placeholder="" /> -
启用/禁用输入法控制
通过input的adjust-position属性调整输入法交互(某些情况下可缓解兼容性问题):<input class="uni-input" adjust-position="false" placeholder="" /> -
切换为
vue页面测试
若问题仅出现在nvue页面,可临时改用vue页面验证是否为渲染引擎问题。vue页面使用 WebView 渲染,输入法兼容性通常更好。 -
更新开发环境与基座
- 升级 HBuilderX 至最新版本(菜单栏【帮助】→【检查更新】)。
- 重新运行项目前,在 Android 设备上卸载旧测试基座,安装新版自定义基座(菜单【运行】→【运行到手机或模拟器】→【制作自定义基座】)。
-
监听输入事件排查
通过[@input](/user/input)事件检查实际输入值,确认是否为输入法数据传递异常:<input class="uni-input" [@input](/user/input)="onInput" placeholder="" />export default { methods: { onInput(e) { console.log('输入内容:', e.value); // 查看日志输出是否正常 } } }


