<template>
<view>
<textarea v-model="test"></textarea>
</view>
</template>
<script setup>
import {
ref
} from 'vue';
const test = '白日依山尽,黄河123 \n欲穷千里目,更上一层楼。';
</script>
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows11
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: Android
手机系统版本号: Android 15
手机厂商: OPPO
手机机型: oppo reno15、oppo findx5、华为mate50、 vivo x300 以及荣耀 小米的大部分新旧机型
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
<template>
<view>
<textarea v-model="test"></textarea>
</view>
</template>
<script setup>
import {
ref
} from 'vue';
const test = '白日依山尽,黄河123 \n欲穷千里目,更上一层楼。';
</script>
在加了 v-model 的 textarea 中,输入几行文字,把光标定位到第一行,打开输入法手写模式,连续输入“上下左右金木水火土”,
“下左右金木水火土”出现在用户光标定位的地方(第一行)
光标会自己跳到最后一行的末尾,导致“下左右金木水火土”出现在最后一行的末尾
uniapp vue3 app textarea 使用 v-model 后,编辑textarea中已有的多行文本,用手机自带的输入法,切换到【手写】模式,在任何一行【连续】输入文字时,光标会自动跳到最后一行的末尾,导致无法编辑前面的内容。
注意:手写单个文字输入没问题,连续手写输入有问题,切换到拼音输入模式后没问题。安装百度输入法替换手机自带的输入法,无此问题。
本人测试了OPPO、小米、荣耀、VIVO的多款机型(有老机也有最新的机型)都有此问题,鸿蒙 next 无此问题。
当textarea 去掉 v-model 后测试,问题消失。
本人开发的APP以老年用户为主,他们大部分使用手写,不会自己安装百度输入法,希望官方早日解决此问题。
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
作为 DCloud 官方评审人员,我对该 bug 反馈进行如下评审:
| 项目 | 评估结果 |
|---|---|
| BUG 标题 | 明确,指向性强,已说明平台(Android)、组件(textarea)、绑定方式(v-model)、输入法(手写)及问题表现(光标跳转) |
| BUG 描述 | 描述清晰,已说明:<br>- 使用 v-model 绑定 textarea<br>- Android 原生输入法手写模式连续输入时光标异常<br>- 单字输入正常,拼音输入正常<br>- 去掉 v-model 后问题消失<br>- 多品牌机型复现,鸿蒙 Next 无问题 |
| 代码示例 | 提供了最小可复现示例,可直接运行,无需调整 |
| 复现步骤 | 步骤清晰,结合代码可复现:<br>1. 使用 v-model 绑定 textarea<br>2. 输入多行文本<br>3. 光标定位到非末尾行<br>4. 切换手写模式连续输入 |
| 预期结果 | 合理:输入内容应出现在光标处 |
| 实际结果 | 明确:光标跳转至末尾,输入内容出现在末尾 |
| 分类信息 | 完整,包含:<br>- HBuilderX 版本(4.87)<br>- Vue 版本(Vue3)<br>- 平台(Android)<br>- 机型(OPPO、小米、荣耀、VIVO 等)<br>- 系统版本(Android 15) |
✅ 结论:反馈内容完整,无需补充。
根据知识库内容:
✅ 结论:该 bug 成立,属于 Android 平台下 textarea 使用 v-model 与原生输入法手写模式交互异常。
当前知识库中未提供该问题的直接解决方案或已知 issue,建议:
@input + :value 手动实现双向绑定; | 项目 | 结论 |
|---|---|
| 反馈质量 | 高,信息完整,复现路径清晰 |
| 是否为有效 bug | 是 |
| 是否需补充信息 | 否 |
| 是否已有解决方案 | 暂无,需官方修复 |
| 建议优先级 | 中(影响老年用户手写输入体验) |
如需进一步处理,请将该 issue 转入官方 bug 跟踪系统,并建议开发团队关注 Android 平台下 textarea + v-model + 原生输入法手写模式的兼容性。
小助手说的没啥问题,先自己制作一个最简单的复现工程,先稳定复现问题,避免引入太多业务代码。你也自行测试,拼音输入是否正常、更换其他输入法是否正常,目前只能看到手写有问题,但是不能缩小问题范围。你也尝试 renderjs是否能规避问题,打印 change 事件卡看是否触发,先把问题简单排查,给出一些结论
9***@qq.com (作者)
我已做了最简单的页面代码来测试,确定有bug。你们自己不用试一下的吗?
<template>
<view>
<textarea v-model="test"></textarea>
</view>
</template>
<script setup>
const test = '白日依山尽,黄河123 \n欲穷千里目,更上一层楼。';
</script>
2026-03-02 10:48
回复 9***@qq.com: 我使用 HBuilderX alpha 5.01 + vue3+安卓小米标准基座,测试你给的案例,使用微信输入法手写、搜狗输入法手写均不能复现你的问题。看我最早说的,自己先缩小问题反馈,带着自查过的结论来沟通,能节约彼此的时间,如果你认为你能稳定复现问题,可提供复现工程、详细操作步骤
2026-03-02 16:45
9***@qq.com (作者)
回复 [已删除]:
BUG复现步骤:
1、测试机型:安卓手机(例如小米17、OPPO X300、ViVo Find X9、荣耀 Magic 8)
2、测试输入法:搜狗输入法或讯飞输入法。
3、在应用市场搜索“诗词吾爱”并安装。
4、打开“诗词吾爱”APP,点击“我”,登录帐号 uniapp@test.com 密码123
5、点击链接“点这里复现手写输入BUG”,进入测试页。
6、把光标定位到文本框文字中间,将输入法切换到手写模式。
7、连续输入一句话,例如“今天中午吃什么”。
8、结果只有“今天”两个字插入到了光标定位点,然后光标自己跑到了文本框最末尾,“中午吃什么”也插入到了文本框最末尾。
备注:
1、连续输入指手写时不停顿,不是一个字插入后再输入一个字。
2、代码移除v-model后,bug消失。
3、切换到拼音模式输入,bug消失。
4、安装百度输入法,手写,bug消失。
2026-03-10 14:16
9***@qq.com (作者)
BUG复现步骤:
1、测试机型:安卓手机(例如小米17、ViVo X300、OPPO Find X9、荣耀 Magic 8)
2、测试输入法:搜狗输入法或讯飞输入法。
3、在应用市场搜索“诗词吾爱”并安装。
4、打开“诗词吾爱”APP,点击“我”,登录帐号 uniapp@test.com 密码123
5、点击链接“点这里复现手写输入BUG”,进入测试页。
6、把光标定位到文本框文字中间,将输入法切换到手写模式。
7、连续输入一句话,例如“今天中午吃什么”。
8、结果只有“今天”两个字插入到了光标定位点,然后光标自己跑到了文本框最末尾,“中午吃什么”也插入到了文本框最末尾。
备注:
1、连续输入指手写时不停顿,不是一个字插入后再输入一个字。
2、代码移除v-model后,bug消失。
3、切换到拼音模式输入,bug消失。
4、安装百度输入法,手写,bug消失。
测试视频见附件
测试代码:
<template>
<view>
<textarea v-model="test"></textarea>
</view>
</template>
<script setup>
import {
ref
} from 'vue';
const test = ref('这是一个最简单的页面 \n只有一个文本框。');
</script>
我测试了你线上的 demo,的确有问题,但是我使用本地的标准基座、自定义基座真机调试无法确认问题,是哪里有差异吗,提供复现工程说明问题,这个问题阻塞你开发吗,使用 input/change 时候可以?
2026-03-10 16:47
9***@qq.com (作者)
回复 [已删除]:
标准基座复现BUG:
1、使用HBuilder 4.8.7 ,文件,新建,uniapp 项目,默认模板。vue版本选择:3
2、打开pages/index/index.vue ,将代码替换为:
<template>
<view>
<textarea :value="test"></textarea>
</view>
</template>
<script setup>
const test = '白日依山尽,\n黄河入海流,\n欲穷千里目。\n更上一层楼。';
</script>
3、运行到Android App基座,使用标准基座运行,手机选择 华为mate30 或 OPPO Find X5。
4、使用搜狗输入法或讯飞输入法或微信输入法,切换到手写,BUG复现。
最新备注
1:textarea不管有没有v-model,有没有@input,都会产生bug。
2、不管标准基座、自定义基座、发行版,都可复现。
总结:
1、textarea组件+搜狗或讯飞或微信输入法+手写 = bug
2、textarea组件+百度输入法或小艺输入法+手写 = 正常
2026-03-11 08:48