2016-06-27 3 views
1

を反応します。は、私は「OnChangeText」イベントを呼び出し、TextInputコンポーネントを持つネイティブのイベント

今、私は関数の呼び出しイベントを変更したい:

動作しません
<TextInput onChangeText={_handleTextChange}/> 

_handleTextChange(event) { 
     this.setState({zip: 
     event.nativeEvent.text}); 

    } 

。 、

未定義(「event.nativeEvent.text」_handleTextChange機能に「イベント」オブジェクトを送信するにはどうすればよい

感謝の評価対象ではありません?私は次のエラーを取得します ヤロン

+0

あなたは回答を受け入れるように選択する必要があります。良い質問。私も助けてくれました。 – MarAvFe

答えて

8

onChangeTextではなくEventのあなたのハンドラ関数にstringを渡します。

class YourComponent { 
    render() { 
    // ... 
    return <TextInput onChangeText={this._handleTextChange.bind(this)}/>; 
    } 

    _handleTextChange(text) { 
    this.setState({zip: text}); 
    } 
} 

EDIT

あなたの代わりにテキストstringEventをしたい場合は、代わりにonChangeTextonChangeを使用することができます。

class YourComponent { 
    render() { 
    // ... 
    return <TextInput onChange={this._handleTextChange.bind(this)}/>; 
    } 

    _handleTextChange(event) { 
    this.setState({zip: event.nativeEvent.text}); 
    } 
} 
+0

ありがとう!出来た。あなたは、各イベントの詳細とどのオブジェクトがパスであるかをウェブサイトに教えてください。 – Yaron

+1

あなたは大歓迎です!私は[公式文書](https://facebook.github.io/react-native/docs/textinput.html)を見ました。それは詳細が不足していると私は例から推測しなければならなかった。 –

+0

興味があれば、[そのソースコード](https://github.com/facebook/react-native/blob/508cc06565c1a2ab6ec88dbb8d40d3a2962c198c/Libraries/Components/TextInput/TextInput.js#L699-L701)を見ることができます。 –

関連する問題