uni-app 安卓手机上支付宝小程序手写输入法BUG
uni-app 安卓手机上支付宝小程序手写输入法BUG
示例代码:
<view class="title">实时获取输入值:{{inputValue}}</view>
<input class="uni-input" @input="onKeyInput" placeholder="输入同步到view中" />
操作步骤:
官方首页,支付宝小程序体验,用华为手机扫码体验,当input输入框,有@input
的时候,切换到手写输入法,第2个字开始,就会把笔画也显示上去。如图,我手写的是“布洛”。苹果手机上的支付宝小程序,没有这个问题。e.target.value
在安卓手机上,支付宝小程序取到了笔画文本。
预期结果:
不要显示笔画
实际结果:
第二个字开始,显示笔画信息
bug描述:
官方首页,支付宝小程序体验,用华为手机扫码体验,当input输入框,有@input
的时候,切换到手写输入法,第2个字开始,就会把笔画也显示上去。如图,我手写的是“布洛”。苹果手机上的支付宝小程序,没有这个问题。e.target.value
在安卓手机上,支付宝小程序取到了笔画文本。
1 回复
在 uni-app 中开发支付宝小程序时,如果在安卓手机上遇到手写输入法的 BUG,可能是由于以下几个原因导致的:
-
输入法兼容性问题:
- 某些安卓手机的手写输入法可能与支付宝小程序的输入框存在兼容性问题,导致输入内容无法正常显示或提交。
-
输入框事件处理问题:
- 支付宝小程序的输入框事件(如
input
、blur
等)可能与手写输入法的输入方式不完全兼容,导致输入内容无法正确传递给小程序。
- 支付宝小程序的输入框事件(如
-
支付宝小程序框架的 BUG:
- 可能是支付宝小程序框架本身存在的 BUG,导致手写输入法在某些安卓手机上无法正常工作。
解决方案
-
检查输入框事件处理:
- 确保你的输入框事件处理逻辑正确,特别是
input
事件。可以尝试在input
事件中打印输入内容,看看是否有数据丢失或异常。
<input [@input](/user/input)="handleInput" /> methods: { handleInput(e) { console.log('输入内容:', e.detail.value); } }
- 确保你的输入框事件处理逻辑正确,特别是
-
使用
textarea
代替input
:- 如果
input
在手写输入法下有问题,可以尝试使用textarea
组件,看看是否能解决问题。
<textarea [@input](/user/input)="handleInput"></textarea>
- 如果
-
更新支付宝小程序 SDK:
- 确保你使用的是最新版本的支付宝小程序 SDK,可能存在的手写输入法 BUG 可能已经在新的版本中修复。
-
测试不同输入法:
- 测试不同的手写输入法,看看是否所有手写输入法都存在这个问题。如果只有某些输入法有问题,可能是输入法本身的 BUG。
-
反馈给支付宝小程序团队:
- 如果确认是支付宝小程序框架的 BUG,可以通过支付宝小程序的官方反馈渠道提交问题,并提供详细的复现步骤和设备信息。
-
使用原生输入法:
- 如果问题无法解决,可以考虑提示用户使用原生输入法,或者提供其他输入方式(如语音输入)。
示例代码
<template>
<view>
<input type="text" [@input](/user/input)="handleInput" placeholder="请输入内容" />
</view>
</template>
<script>
export default {
methods: {
handleInput(e) {
console.log('输入内容:', e.detail.value);
}
}
}
</script>