onSubmitEditing未在数字iOS键盘上触发

Far*_*ıcı 8 textinput ios react-native

在我的React Native应用程序中,我有两个TextInput组件,一个是数字,一个是默认值.问题是,onSubmitEditing适用于iOS和Android上的默认键盘,但它不会在iOS上的数字键盘上触发.

默认键盘:

我在下面的例子中使用默认的keyboardType.在Android和iOS上都会触发onSubmitEditing.

<TextInput
        value={this.state.username}
        onChangeText={(username) => this.setState({ username })}
        onSubmitEditing={() => console.log('onSubmitEditing triggered')}
      />
Run Code Online (Sandbox Code Playgroud)

Android键盘有一个勾号按钮,iOS键盘有一个返回按钮.当我按下这些按钮时,会在两个键盘上触发onSubmitEditing.

在此输入图像描述 在此输入图像描述

数字键盘:

我在下面的例子中使用了数字keyboardType.我添加了returnKeyType ="done",因为iOS键盘现在显示一个没有设置returnKeyType的按钮.

<TextInput
        value={this.state.password}
        keyboardType="numeric"
        onChangeText={(password) => this.setState({ password })}
        onSubmitEditing={() => console.log('onSubmitEditing triggered')}
        returnKeyType="done"
      />
Run Code Online (Sandbox Code Playgroud)

Android键盘显示一个勾选按钮,按下时会触发onSubmitEditing.iOS键盘在键盘上方显示"完成"按钮,但不会触发onSubmitEditing.

在此输入图像描述 在此输入图像描述

我已尝试使用onEndEditing prop,但它不能用作onSubmitEditing.它也会在模糊事件中触发.onSubmitEditing仅在按下返回键按钮时触发,这就是我真正需要的.