iOS上的自动更正不会在react-native

时间:2017-04-26 19:22:51

标签: react-native react-native-ios

react-native version:0.43.4 平台:iOS

重现的步骤:

  1. 在TextInput
  2. 中键入拼写错误的单词
  3. 按空格键以确保其尚未更改为正确的字词。万一它只是删除并再次拼错拼写单词。
  4. 现在iOS必须用红色虚线显示带下划线的单词。点击它,iOS将显示2种类型的自动更正。一个位于单词的侧面,第二个位于键盘的顶部。
  5. 从键盘顶部选择自动更正。
  6. 通过检查日志等,您将知道它没有触发任何onChangeText事件。
  7. 关于如何使其发挥作用的任何想法?

1 个答案:

答案 0 :(得分:1)

对于遇到这种情况的人来说,GitHub问题就在这里:https://github.com/facebook/react-native/issues/2552

当问题仍然存在时,我想到了一个临时的解决方法。基本上,在onChangeText回调中,首先调用您的onChangeTextCallback回调。如果你输入过" awrsome"并且它被自动修正为#34; awesome",onChangeTextCallback = (text) => { /* do stuff */ } onSubmitEditingCallback = (e) => { /* do stuff */ } 将被称为" awesome"。

  <TextInput
    onChangeText = {onChangeTextCallback}
    onSubmitEditing = {(e) => {
      onChangeTextCallback(e.nativeEvent.text);
      onSubmitEditingCallback(e);
    }}
  />

然后在你的JSX中:

{{1}}