<textarea maxlength="-1" :auto-focus="autoFocus" :focus="focus" :placeholder="placeholder" :auto-height="autoHeight" :disabled="disabled" v-model="textareaValue" @input="textareaValueChange" style="width: 100%;" :style="customStyle"></textarea>
- 发布:2025-12-26 13:26
- 更新:2025-12-26 16:26
- 阅读:44
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win 11
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: iOS
手机系统版本号: iOS 18
手机厂商: 苹果
手机机型: iphone 16
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
持续键盘输入,会随机出现,详见视频
持续键盘输入,会随机出现,详见视频
预期结果:
无
无
实际结果:
无
无
bug描述:
textarea/input在输入的时候,会出现离开输入框焦点的情况,原因未知。
随机出现,但是出现的频率还是比较高
安卓未发现这个问题
已经验证过跟输入法没关系
附件视频中,输入到“破功”后就离开了焦点,但是键盘还在,且输入的内容不会出现在textarea中
该bug反馈内容基本完整但存在不足:标题和描述清晰说明了iOS设备上textarea随机失焦的问题,提供了代码示例和分类信息;但复现步骤过于简略(仅"持续键盘输入"),缺乏具体触发条件;预期/实际结果描述为"无"不合理,应明确期望保持焦点而实际丢失焦点;代码示例缺少data变量定义等上下文,无法直接运行复现。
经核查知识库,iOS平台textarea焦点管理存在特殊性:H5平台焦点行为取决于浏览器实现(文档说明)。当前HBuilderX 4.87版本未明确记录此问题,但iOS 18可能存在新特性兼容问题。建议用户:1) 补充完整可复现代码及具体触发场景;2) 尝试改用uni-easyinput组件并设置focus属性;3) 升级至最新HBuilderX版本验证;4) 检查是否存在其他JS逻辑意外调用blur方法。该问题需进一步排查,暂不能判定为框架基础bug。
DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
使用 renderjs 测试下,改为 :value="inputValue" @input="renderScript.onInputChange" 来处理。
<template>
<view>
<input type="text" :value="inputValue" :data-init="inputValue" @input="renderScript.onInputChange"
style="border: 1px solid red;" />
<view>逻辑层同步的数据:</view>
<view>{{ inputValue }}</view>
</view>
</template>
<script>
export default {
data() {
return {
inputValue: '初始值'
}
},
methods: {
// 接收从 renderjs 传回的数据
receiveMsg(data) {
this.inputValue = data;
console.log('逻辑层收到数据:', data);
}
}
}
</script>
<script module="renderScript" lang="renderjs">
export default {
methods: {
onInputChange(event, ownerInstance) {
const value = event.detail.value;
ownerInstance.callMethod('receiveMsg', value);
}
}
}
</script> -
一桶浆糊 (作者)
<template>
<textarea :value="remark" @input="inputChange"></textarea>
</template>
<script>
export default {
data() {
return {
remark: "",
remarkNew: ""
}
},
methods: {
inputChange(e) {
this.remarkNew = e.detail.value;
console.log('---------->',this.remarkNew)
}
}
}
</script>
改成这样问题依旧
如果写成这样<textarea ></textarea>就没问题,不绑定人任何值,任何事件
2025-12-26 15:37
-
-
-
-
一桶浆糊 (作者)
回复 DCloud_UNI_OttoJi: 补充一下,iPhoneX也有这个问题。但是用HBuilderX4.24编译的vue2项目并没有这个现象
2025-12-26 17:38