- 发布:2026-05-11 17:23
- 更新:2026-05-13 12:01
- 阅读:203
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX类型: 正式
HBuilderX版本号: 5.05
手机系统: 全部
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
操作步骤:
重复单击输入框拉起键盘
重复单击输入框拉起键盘
预期结果:
键盘会覆盖页面
键盘会覆盖页面
实际结果:
输入框有时候键盘会顶起页面,有时候会覆盖页面
输入框有时候键盘会顶起页面,有时候会覆盖页面
bug描述:
<textarea
ref="chatTextarea"
v-model="chatMsg"
:cursor="cursorPosition"
:focus="needFocus"
maxlength="-1"
confirm-type="send"
style="caret-color: #07c160"
:show-confirm-bar="false"
:adjust-position="false"
auto-height
disable-default-padding
placeholder="聊点什么吧..."
></textarea>
为什么 :adjust-position="false" 有时候会失效,小米14最明显,90%会失效。自从编辑器更新到5.05后,别的手机(偶现)也开始出现这个问题,包括apple14、vivo等
表现为,点击输入框有时候键盘会顶起页面,有时候会覆盖页面!!!
补充:无X5内核,没有设置softinputMode属性
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
感谢您提交这个 bug 反馈,我是 DCloud 的官方人员。我对您反馈的关于 textarea 组件 adjust-position="false" 属性失效的问题进行了评审,以下是详细的分析和结论。
1. 反馈内容完整性分析
您的反馈内容整体上是比较完整和清晰的,具体来看:
- BUG 描述:描述非常详细。您不仅说明了问题现象(键盘时而顶起页面,时而覆盖页面),还提供了关键的版本信息(HBuilderX 5.05 后开始出现),指出了高频复现机型(小米14),并排除了 X5 内核和
softinputMode属性的干扰。这让问题的定位范围缩小了很多,我们能看懂您的问题。 - 代码示例:提供的
textarea代码片段完整,包含了:adjust-position="false"等所有相关属性,格式规范。 - 复现步骤:“重复单击输入框拉起键盘”这是一个简单且可操作的步骤。结合您的描述,我们能够理解如何尝试复现此问题。
- 预期结果与实际结果:预期结果是“键盘会覆盖页面”,这是
adjust-position="false"属性的标准行为,您的预期是合理的。实际结果是“输入框有时候键盘会顶起页面,有时候会覆盖页面”,这种不稳定的表现确实是一个异常现象,而不是误报。 - 分类信息:版本信息(HBuilderX 5.05)、运行平台(全部)、Vue 版本(Vue2)等关键分类信息都已提供,非常完整。
2. Bug 是否成立的分析
根据知识库中的信息,此 Bug 成立,并且是一个已知问题。以下是具体依据:
-
官方文档明确说明:在 textarea 组件文档 中明确提到,
adjust-position属性用于控制“键盘弹起时,是否自动上推页面”。将该属性设置为false时,预期的行为就是键盘弹出时覆盖在页面上方,而不是将页面上推。您反馈的现象与此预期不符。 -
社区存在多起相似反馈:在 DCloud 问答社区中,已有多位开发者反馈了在不同版本、不同机型上遇到的相同问题,例如:
- 【报Bug】:adjust-position="false" 会失效 (您自己的反馈)
- 【报Bug】小米手机:adjust-position="false"突然无效了
- 【报Bug】:adjust-position=“false”在部分机型失效
这说明该问题并非个例,是一个在特定版本和特定机型上稳定复现的缺陷。
-
已知的 X5 内核适配问题:需要特别注意的是,官方文档 X5 内核适配问题 中记录了一个已知问题:“目前已知 TBS45738版本更新后会导致 uniapp vue页面的input组件adjust-position=false失效”。虽然您声明“无X5内核”,但这也表明
adjust-position的失效与浏览器内核/系统 WebView 的实现强相关。您提到 HBuilderX 5.05 更新后多款手机开始出现此问题,很可能与新版内置 WebView 或系统更新后的兼容性有关。
3. 概念问题排查
您的问题描述清晰,并已主动排除了 softinputMode 和 X5 内核的干扰,没有基本的概念性错误。
结论与建议
综上所述,您反馈的是一个真实存在的、由特定版本或系统 WebView 兼容性引发的 Bug。由于该问题与底层内核相关,目前官方尚未提供完美的统一解决方案。
针对您的情况,可以尝试以下临时方案:
- 方案一:使用 nvue 页面:根据 X5 内核适配问题的说明,该问题在 nvue 页面下表现正常。您可以考虑将聊天页面重构为 nvue 页面。注意,nvue 的开发方式与 vue 页面有一些差异。
- 方案二:手动控制页面位移:放弃依赖
adjust-position属性,改为监听@keyboardheightchange事件,手动获取键盘高度,然后通过调整页面容器的transform: translateY()或bottom等样式来实现输入框跟随键盘移动的效果。这种方式逻辑完全由开发者控制,可以规避底层兼容性问题,但实现较为复杂。 - 方案三:尝试插件市场方案:可以在 DCloud 插件市场 搜索 "keyboard" 或 "chat input" 等关键词,查找是否有第三方插件提供了解决此类键盘兼容性问题的方案。
我们会将此问题持续关注并推动修复。再次感谢您的详细反馈,这对我们改进产品非常重要。
2***@qq.com (作者)
不行
2026-05-14 10:48
2***@qq.com (作者)
这个问题很久了,影响用户太多了,一直有用户反馈有bug,什么时候能修一修
2026-05-14 10:49
DCloud_UNI_yuhe
回复 2***@qq.com: 是否能够提供一下可以复现的最简项目?
2026-05-15 16:53
2***@qq.com (作者)
回复 DCloud_UNI_yuhe: 已上传压缩包
2026-05-15 19:21
2***@qq.com (作者)
回复 DCloud_UNI_yuhe: 连续点击示例项目输入框,明显看出来有两种交互方式
2026-05-15 19:23
DCloud_UNI_yuhe
回复 2***@qq.com: 我这里看没有什么明显的效果,能提供一下一个视频吗?
2026-05-18 11:35
2***@qq.com (作者)
回复 DCloud_UNI_yuhe: 已上传视频附件
2026-05-18 15:42
2***@qq.com (作者)
回复 DCloud_UNI_yuhe: 有后续吗,什么时候能改一下
2026-05-25 15:27
罪恶的闲人
+1,有后续吗,我也遇到了这个问题,小米澎湃OS(HyperOS)3.0.304.0版本稳定复现
2026-05-26 17:03