在数字iOS键盘

时间:2018-04-06 11:26:57

标签: ios react-native textinput

在我的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')}
      />

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

enter image description here enter image description here

数字键盘:

我在以下示例中使用了数字keyboardType。我添加了returnKeyType =&#34; done&#34;,因为iOS键盘现在显示一个没有设置returnKeyType的按钮。

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

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

enter image description here enter image description here

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

0 个答案:

没有答案