Skip to content

Commit

Permalink
Fix backspace issue - origin PR facebook#18627
Browse files Browse the repository at this point in the history
  • Loading branch information
UrosZivaljevic committed Apr 2, 2018
1 parent 3a8ccae commit 442f97b
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions Libraries/Text/TextInput/RCTBaseTextInputView.m
Original file line number Diff line number Diff line change
Expand Up @@ -268,11 +268,16 @@ - (BOOL)textInputShouldChangeTextInRange:(NSRange)range replacementText:(NSStrin

NSString *previousText = [_predictedText substringWithRange:range] ?: @"";

if (_predictedText) {
_predictedText = [_predictedText stringByReplacingCharactersInRange:range withString:text];
} else {
_predictedText = text;
}
// After clearing the text by replacing it with an empty string, `_predictedText`
// still preserves the deleted text.
// As the first character in the TextInput always comes with the range value (0, 0),
// we should check the range value in order to avoid appending a character to the deleted string
// (which caused the issue #18374)
if (!NSEqualRanges(range, NSMakeRange(0, 0)) && _predictedText) {
_predictedText = [_predictedText stringByReplacingCharactersInRange:range withString:text];
} else {
_predictedText = text;
}

if (_onTextInput) {
_onTextInput(@{
Expand Down

0 comments on commit 442f97b

Please sign in to comment.