React Native - onChangeText和onSubmitEditing之间的区别?

时间:2018-04-01 06:02:34

标签: javascript reactjs react-native

从Facebook React Native Text Input文档中,我能够看出这是使用onSubmitEditing时发生的情况:

  

按下文本输入提交按钮时调用的回调。

然而,onChangeText没有任何内容。我假设文本已经改变,那么它将触发。

为什么我要使用另一个?例如,如果我正在为TextInput字段制作内容,那么我不想使用onChangeText吗?在某些例子中,我看到他们使用onSubmitEditing,我很困惑为什么你会使用一个而不是另一个。这个问题不同于想知道如何设置提交按钮 - 我问为什么要使用onChangeTextonSubmitEditing

3 个答案:

答案 0 :(得分:4)

单击文本输入提交按钮(键盘按钮)时会触发

onSubmitEditing

在文本输入中键入任何符号时会触发

onChangeText

例如,您可能需要在每次按键时进行一些验证,在这种情况下您将使用onChangeText,如果您需要在完成输入时触发验证,则需要onSubmitEditing

在您的示例中,您将在两种情况下实现所需。

答案 1 :(得分:1)

当您点击下面屏幕截图中的按钮时,

onSubmitEditing是一个回调。

onSubmitEditing

当您在onChangeText中输入任何内容时,

TextInput就是一个回调。

答案 2 :(得分:0)

1:onSubmitEditing

onSubmitEditing:当您想要提交文本字段的编辑并希望调用某些操作(如调用移动键盘或调用提交操作或API以传递当前屏幕数据)时,可以使用它。

简而言之,当您完成将文本添加到字段并想要对下一个屏幕进行某些操作时,可以使用它。

仅在按下键盘按钮时才会调用。 例如当我们按下GO,RETURN,键盘上的搜索按钮时。

2:onChangeText

onChangeText:它通常用于使用TextInput值更新Component的状态,如Reactjs onChange事件。

它呼唤每一次性格的改变。