2016-06-15 63 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