我只是想在文本编辑完成后用TextInput的文本调用一个函数。类似下面访问textInput on onSubmitEnding
<TextInput onSubmitEnding={(text) => submitText(text)}>
但很明显的文本不作为参数传递给onSubmitEnding
。 onChangeText
有它。但是我真的想在用户完成编辑后显示文字。那么最简单的方法是做什么,
我只是想在文本编辑完成后用TextInput的文本调用一个函数。类似下面访问textInput on onSubmitEnding
<TextInput onSubmitEnding={(text) => submitText(text)}>
但很明显的文本不作为参数传递给onSubmitEnding
。 onChangeText
有它。但是我真的想在用户完成编辑后显示文字。那么最简单的方法是做什么,
1ºonSubmitEnding
是不是一个有效的事件,正确的是onSubmitEditing
。
2º你可以使用event.nativeEvent.text
你的代码看起来应该是这样
<TextInput onSubmitEnding={(event) => this.submitText(event.nativeEvent.text)}>
我不会强迫你一定模式的输入值,但你应该有你的TextInput
的价值一个状态。然后:
...
this.state = {
textInputValue: ''
}
...
submitText() {
console.log(this.state.textInputValue)
}
...
<TextInput
value={this.state.textInputValue}
onChangeText={(text) => this.setState({textInputValue: text})}
onSubmitEditing={() => this.submitText()} />
是完全有效的。这里有一个生动的例子:https://rnplay.org/apps/wirurQ
谢谢。这适合我的需求 –