2016-06-15 11 views
1

我只是想在文本编辑完成后用TextInput的文本调用一个函数。类似下面访问textInput on onSubmitEnding

<TextInput onSubmitEnding={(text) => submitText(text)}> 

但很明显的文本不作为参数传递给onSubmitEndingonChangeText有它。但是我真的想在用户完成编辑后显示文字。那么最简单的方法是做什么,

回答

2

onSubmitEnding是不是一个有效的事件,正确的是onSubmitEditing

2º你可以使用event.nativeEvent.text

你的代码看起来应该是这样

<TextInput onSubmitEnding={(event) => this.submitText(event.nativeEvent.text)}> 
+0

谢谢。这适合我的需求 –

2

我不会强迫你一定模式的输入值,但你应该有你的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