uni-app nvue android input输入框系统默认google输入法,输入不了英文

uni-app nvue android input输入框系统默认google输入法,输入不了英文

开发环境 版本号 项目创建方式
Windows 21H1 HBuilderX

示例代码:

<input class="uni-input" placeholder="" />
16 回复

更多关于uni-app nvue android input输入框系统默认google输入法,输入不了英文的实战教程也可以访问 https://www.itying.com/category-93-b0.html


是的,类似的情况。。。

回复 灳灳: 感谢您的反馈 ,已加分,相关负责组已在排查

回复 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: 苹果没有这个问题。。。就用原生的吧

hx3.3.1 alpha已修复

回复 守护: 先确认是否与贴主问题一致。

问题分析:
nvue 页面中,Android 端使用 Google 输入法时,<input> 组件可能因渲染引擎差异导致英文输入异常。这通常与 nvue 的原生渲染机制及输入法兼容性有关。

解决方案:

  1. 检查 input 属性配置
    确保 type 属性未错误限制输入类型(如误设为 numberidcard)。若需英文输入,可尝试显式设置 type="text"

    <input class="uni-input" type="text" placeholder="" />
    
  2. 启用/禁用输入法控制
    通过 inputadjust-position 属性调整输入法交互(某些情况下可缓解兼容性问题):

    <input class="uni-input" adjust-position="false" placeholder="" />
    
  3. 切换为 vue 页面测试
    若问题仅出现在 nvue 页面,可临时改用 vue 页面验证是否为渲染引擎问题。vue 页面使用 WebView 渲染,输入法兼容性通常更好。

  4. 更新开发环境与基座

    • 升级 HBuilderX 至最新版本(菜单栏【帮助】→【检查更新】)。
    • 重新运行项目前,在 Android 设备上卸载旧测试基座,安装新版自定义基座(菜单【运行】→【运行到手机或模拟器】→【制作自定义基座】)。
  5. 监听输入事件排查
    通过 [@input](/user/input) 事件检查实际输入值,确认是否为输入法数据传递异常:

    <input class="uni-input" [@input](/user/input)="onInput" placeholder="" />
    
    export default {
      methods: {
        onInput(e) {
          console.log('输入内容:', e.value); // 查看日志输出是否正常
        }
      }
    }
回到顶部