Skip to content

Commit

Permalink
Fix TextInput numeric keyboard submit
Browse files Browse the repository at this point in the history
Summary:
When you have a numeric non-multiline `TextInput` and a `returnKeyType` is `done` we automatically add an input accessory view ([implementation](https://github.com/facebook/react-native/blob/603cc48ceba001827d10231d51b4031c7768eef8/Libraries/Text/RCTTextInput.m#L269#L315)).

That view has a done button which triggers [handleInputAccessoryDoneButton](https://github.com/facebook/react-native/blob/603cc48ceba001827d10231d51b4031c7768eef8/Libraries/Text/RCTTextInput.m#L317...L320) which currently directly sends `endEditing:` to the text field / text view. As a consequence, the [textInputShouldReturn](https://github.com/facebook/react-native/blob/603cc48ceba001827d10231d51b4031c7768eef8/Libraries/Text/RCTTextInput.m#L118...L121) is not called and we dismiss the keyboard even if the `blurOnSubmit` value is `false`.

Confirm that the keyboard is not dismissed when you tap on Done button on this `TextInput`:
```
<TextInput
  keyboardType={'numeric'}
  returnKeyType={'done'}
  blurOnSubmit={false}
/>
```

and that the keyboard is dismissed for this `TextInput`:
```
<TextInput
  keyboardType={'numeric'}
  returnKeyType={'done'}
  blurOnSubmit
/>
```
Closes #15438

Differential Revision: D5601462

Pulled By: javache

fbshipit-source-id: 24e4048e2e66d1a42fa97d83b4a3eb61e5d817ea
  • Loading branch information
gontovnik authored and facebook-github-bot committed Aug 10, 2017
1 parent 9075ff6 commit d565bc3
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion Libraries/Text/RCTTextInput.m
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,9 @@ - (void)invalidateInputAccessoryView

- (void)handleInputAccessoryDoneButton
{
[self.backedTextInputView endEditing:YES];
if ([self textInputShouldReturn]) {
[self.backedTextInputView endEditing:YES];
}
}

@end

0 comments on commit d565bc3

Please sign in to comment.