react / react/react-native

🐞 iOS: Dictation Mic doesn't work properly with TextInput multiline

未关闭
#37,991 16 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

Accessibility Component: TextInput Needs: Triage :mag: Never gets stale Platform: iOS
主要语言
C++
星标
127k
派生
25.3k
平均合并
1 天 23 小时
30 天内合并 PR
4

描述

Description

I tried using Dictation mic on iOS with TextInput. It works fine when multiline is OFF. But it doesn't work if multiline is set to true. It paste the text to the input but as soon as I start to type, it removed the dictation text.

React Native Version

0.71.8

Output of npx react-native info
System:
    OS: macOS 13.4
    CPU: (8) x64 Intel(R) Core(TM) i7-8569U CPU @ 2.80GHz
    Memory: 1.13 GB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.16.0 - /usr/local/opt/node@18/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.5.1 - /usr/local/opt/node@18/bin/npm
    Watchman: 2023.05.15.00 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.12.1 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
    Android SDK: Not Found
  IDEs:
    Android Studio: Not Found
    Xcode: 14.3.1/14E300c - /usr/bin/xcodebuild
  Languages:
    Java: Not Found
  npmPackages:
    @react-native-community/cli: Not Found
    react: 18.2.0 => 18.2.0 
    react-native: 0.71.8 => 0.71.8 
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found
Steps to reproduce

Use the following Input and play with the dictation mic.

const [message, setMessage] = useState('');
<TextInput onChangeText={setMessage} value={message} multiline={true} />
Snack, code example, screenshot, or link to a repository

Minimal reproduction case is to just use TextInput with multiline set to True

<TextInput onChangeText={setMessage} value={message} multiline={true} />

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

先在 iOS 上使用所述的 multiline={true}、value 和 onChangeText,开始进行最小化的 React Native TextInput 复现。确认听写文本会被插入,并在开始输入时被移除;在继续输入时听写文本仍然可用,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
ios, react-native
领域
mobile
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
48/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。