使用微信输入法在uni-app中input和textarea有概率在ios中焦点消失

使用微信输入法在uni-app中input和textarea有概率在ios中焦点消失

类别 信息
产品分类 uniapp/App
PC操作系统 Windows
PC系统版本 windows 11
HBuilderX 正式
HBuilderX版本 4.57
手机系统 iOS
手机系统版本 iOS 17
手机厂商 苹果
手机机型 iphone14, iphone13
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

进入包含input,textarea的界面->点击输入框出现焦点,使用微信输入法->进行输入->拼音打入’ceshi’还未在输入法中选择对应’测试’文本时输入框上的焦点消失(小概率出现)

预期结果:

input,textarea输入时焦点不会自动消失

实际结果:

input,textarea输入时焦点经常会自动消失

bug描述:

苹果手机用户在使用 微信输入法 在input, textarea中进行输入时经常会出现焦点输入框自动消失的情况

Desktop.rar


更多关于使用微信输入法在uni-app中input和textarea有概率在ios中焦点消失的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

是什么平台呢?

更多关于使用微信输入法在uni-app中input和textarea有概率在ios中焦点消失的实战教程也可以访问 https://www.itying.com/category-93-b0.html


可以试试设置 ignoreCompositionEvent 为 false

这个焦点消失问题在iOS上使用微信输入法时确实比较常见,主要是由于输入法和系统交互导致的。建议尝试以下解决方案:

  1. 在input/textarea组件上添加@focus@blur事件处理,手动控制焦点状态:
<input 
  v-model="value"
  @focus="handleFocus"
  @blur="handleBlur"
  :focus="isFocused"
/>
const isFocused = ref(false)

const handleFocus = () => {
  isFocused.value = true
}

const handleBlur = () => {
  setTimeout(() => {
    if(isFocused.value) {
      this.$refs.input.focus()
    }
  }, 100)
}
  1. 对于textarea,可以尝试设置confirm-type="done"属性:
<textarea confirm-type="done"></textarea>
回到顶部