Reputation: 775
From the Facebook React Native Text Input documentation, I was able to discern that this is what happens when onSubmitEditing
is used:
Callback that is called when the text input's submit button is pressed.
However, there wasn't anything for onChangeText
. I'm assuming if the text has changed, then it will trigger.
Why would I want to use one other than the other? For example if I'm making something that takes in text for the TextInput
field, wouldn't I just want to use onChangeText
? In some examples I've seen them use onSubmitEditing
and I'm confused on why you would use one over the other. This question is different than wondering how to make the submit button - I'm asking why I would use onChangeText
vs. onSubmitEditing
.
Upvotes: 9
Views: 17959
Reputation: 969
onSubmitEditing
is a callback when you tap the button in the screenshot below.
onChangeText
is a callback when you type anything into a TextInput
.
Upvotes: 3
Reputation: 15292
onSubmitEditing
: When you want to submit the editing of text field and want to call some action like dimissing the mobile keyboard or calling submit action or API to pass current screen data,one can use it.
In short,when you are done with adding the text to field and want to proceed with some action to next Screen,one can use it.
It called only when one press the keyboard button. e.g. When we press GO,RETURN,Search button on keyboard.
2: onChangeText
onChangeText
: Its typical use to update the state of Component with TextInput value like Reactjs onChange
event.
Its called on every change of character.
Upvotes: 2
Reputation: 738
onSubmitEditing
is triggered when you click the text input submit button (keyboard button).
onChangeText
is triggered when you type any symbol in the text input.
For example, you might need some validation on every key press, in that case you will use onChangeText
, if you need the validation to trigger when you finish typing, you need onSubmitEditing
In your example, you will achieve what you need in both cases.
Upvotes: 14