多罗罗
多罗罗
  • 发布:2025-12-08 11:26
  • 更新:2025-12-08 11:26
  • 阅读:31

【报Bug】input输入框在弹出键盘之后偶尔会将页面抬高到两倍键盘的高度

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 26100.4652

HBuilderX类型: 正式

HBuilderX版本号: 4.85

手机系统: Android

手机系统版本号: Android 16

手机厂商: 小米

手机机型: REDMI K80 pro

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

示例代码:

<input
class="sm-size"
v-model="form.buyerName"
placeholder="请输入发票抬头" />

操作步骤:

首先将input放在需要被键盘顶起的位置,比如屏幕下方,不断重复:获取焦点、收起键盘,偶尔会触发

预期结果:

页面被顶起的位置完全受cursor-spacing或者adjust-position控制,不应将页面过度抬高。

实际结果:

页面被顶的太高,大概为键盘两倍的高度

bug描述:

使用input文本框的时候,获取焦点并弹出键盘时偶尔会出现页面被顶的特别高的情况,尤其是在不设置cursor-spacing的时候触发很频繁。
起初我以为是adjust-position的问题,在尝试过之后,发现adjust-position是有效的,但也仅限于BUG未触发时,只要触发了该BUG,adjust-position属性将无效,页面依旧会被顶起。
图片分别为触发时和未触发时的样子。

2025-12-08 11:26 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该bug反馈内容较为完整,描述了问题现象、复现条件和已尝试的解决方案。问题很可能成立,特别是在Android平台特定机型上。反馈中包含了必要的分类信息(HBuilderX 4.85、Android 16、小米K80 pro等),代码示例简洁可复现,复现步骤基本清晰但可补充具体操作频率。预期结果合理,实际表现确实异常。

根据知识库,App平台软键盘有adjustResize和adjustPan两种模式(文档说明)。用户设置adjust-position="false"但问题仍出现,可能因为:

  1. HBuilderX 4.85版本较旧(当前最新版更高),可能存在已知键盘适配问题
  2. Android平台在softinputMode为adjustResize时,adjust-position属性会失效(属性说明
  3. 个别安卓机型在adjustResize模式下会出现页面异常抬高现象(知识库明确提示"可能会在个别安卓机型闪现灰屏或漏出下层页面内容")

建议用户:

  1. 升级HBuilderX至最新正式版(当前4.85非最新)
  2. 尝试在manifest.json中设置"softinputMode": "adjustPan"
  3. 监听@keyboardheightchange事件(需App 3.1.0+)动态调整页面(事件文档
  4. 若仍无法解决,需提供更详细的复现路径和视频记录
内容为 AI 生成,仅供参考

要回复问题请先登录注册