Koto
Koto
  • 发布:2024-07-28 17:12
  • 更新:2024-11-08 02:14
  • 阅读:733

【报Bug】iOS App使用系统原生键盘时,字打快了会丢失光标,无法继续输入!

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Win11

HBuilderX类型: 正式

HBuilderX版本号: 4.23

手机系统: iOS

手机系统版本号: iOS 17

手机厂商: 苹果

手机机型: iphone13

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<textarea v-model="prompt"></textarea>

操作步骤:

<textarea v-model="prompt"></textarea>

使用系统键盘打字,随便按字,按快点,光标就消失了,打的字也更新不上输入框

预期结果:

正常输入

实际结果:

丢失光标,无法继续输入,得手动点击输入区重新获取光标

bug描述:

iOS App使用系统原生键盘时,字打快了会丢失光标,无法继续输入!各机型都有这个问题,键盘乱按输入就能触发。

2024-07-28 17:12 负责人:DCloud_UNI_LXH 分享
已邀请:
BFC

BFC

bug已确认,感谢反馈,已加分

  • Koto (作者)

    请问什么时候能修复呢?或者有没有暂时的替代方案,3个APP都受了影响

    2024-08-01 16:56

  • Koto (作者)

    请问什么时候能修复呢

    2024-08-05 18:16

i***@chinnshi.com

i***@chinnshi.com

请问这个bug 什么时候能修改好 修改

l***@163.com

l***@163.com

迟迟不修复,暂时给一个临时解决方法,不使用v-model和:value的替代

<template>  
  <view>  
    <textarea :key="textareaKey" ref="inputRef" class="message-input" placeholder="输入消息..."  @input="onInput"></textarea>  
    <button @click="sendMessage">发送</button>  
  </view>  
</template>  

<script>  
export default {  
  data() {  
    return {  
      message: '', // 临时存储消息  
      textareaKey: 0, // 用于强制重新渲染 textarea 的 key  
    };  
  },  
  methods: {  
    onInput(event) {  
      this.message = event.detail.value; // 实时更新消息内容  
    },  
    sendMessage() {  
        console.log('发送的消息:', this.message);  
        this.message = ''; // 重置消息内容  
        this.textareaKey += 1;  // 强制重新渲染 textarea,清空输入框内容  
    },  
  },  
};  
</script>  

<style>  
</style>
  • Koto (作者)

    这个通过:key来强制重新渲染是没想到的,我来试试

    2024-08-21 19:59

  • Koto (作者)

    不行诶兄弟,还是一样,输入快就丢光标了。感觉是键盘和框架的通讯问题

    2024-09-12 17:58

Koto

Koto (作者)

麻烦尽快排bug,3个APP都受到了影响。使用:value + @input 或 v-model 的方式都会有这个Bug。

Koto

Koto (作者)

!!!

Koto

Koto (作者)

只要打字快了就丢光标,3个iOS APP使用原生键盘时都会!!怎么解决??

Koto

Koto (作者)

有没有朋友有替代方案的,不可能要求客户说你打字打慢点

  • l***@163.com

    这bug真是的,可以叫客户换键盘。。。。百度键盘没问题,微信键盘也不行

    2024-08-07 23:55

  • Koto (作者)

    回复 l***@163.com: 哈哈哈哈叫客户换键盘。我微信输入法倒是没问题,就系统键盘有问题。其他输入法还没测试过。

    2024-08-08 12:47

Adlaw

Adlaw

为什么测试我这边IOS的APP没出现这个问题呢,请问下你是的textarea属性是怎么设置的

  • Koto (作者)

    iPhone13 / 17.5.1

    就直接<textarea v-model="prompt"></textarea>都能测出来,使用系统键盘,中文下打字选字随便点随便选,速度打快了就出丢光标的bug了。

    2024-08-02 16:04

l***@163.com

l***@163.com

这个问题什么时候修复啊,很受影响

Koto

Koto (作者)

打字快了就会掉光标的问题,到底什么时候能修复?

Koto

Koto (作者)

还没修复……

Koto

Koto (作者)

还没修复...3个App的输入框都受这个Bug的影响。

用户在AppStore给了1星的反馈:文字输入一定字数之后,输入法一定会卡住无法继续输入,这个体验很差

Koto

Koto (作者)

另一个贴也提到了这个问题 https://ask.dcloud.net.cn/question/166690

DCloud_heavensoft

DCloud_heavensoft

此问题是由于逻辑层和ui层通信不够快导致的。
这块的改动,会引发非常大的测试工作量,所以一直没有启动。
如果能绕过,建议绕过。如果不能绕过,可以点右上角的付费技术支持,这样排期能快一点

  • Koto (作者)

    你们目前有绕过的方法吗?每个APP都受影响

    2024-11-08 17:03

  • DCloud_heavensoft

    回复 Koto: 大多数app不会实时监听输入并实时给渲染层同步输入

    2024-11-08 22:50

  • DCloud_heavensoft

    回复 DCloud_heavensoft: 注意最卡的不是监听输入,最卡的是把监听结果传给响应式变量,让ui层实时渲染

    2024-11-08 22:50

  • Koto (作者)

    回复 DCloud_heavensoft: 用nvue页面就没问题是吗

    2024-11-09 08:42

  • DCloud_heavensoft

    回复 Koto: 用uvue肯定没问题

    2024-11-09 16:37

要回复问题请先登录注册