超シンプルなチャットを構築したい。これを行うには、TextInput と TouchableOpacity を取得してメッセージを送信し、Textinput をクリアします。
問題: メッセージを送信すると、Textinput はクリアされますが、再度書き込みを開始すると、古いテキストが Textinput に再度コピーされます (+ 新しい文字)。ただし、送信してクリアした後にキーボードを閉じると、すべてが正常に機能します。
TouchableOpacity で TextInput を完全にクリアする方法はありますか?
以下はコードで、自分でいくつか試してみましたが、どれもうまくいきませんでした。前もって感謝します、
マフィニウス
<View style={{flexDirection: 'row'}}>
<TextInput
placeholder="Schreibe eine Nachricht"
onChangeText={(text) => this.setState({newMsg : text})}
style={{width: 300}}
ref={'ref1'}
/>
<TouchableOpacity
onPress={this.sendMessage}
>
<Text> --> </Text>
</TouchableOpacity>
</View>
sendMessage = () => {
this.state.MsgData.push({msg: this.state.newMsg, id: this.props.global.userId, timestamp: 8888});
this.refs['ref1'].clear();
this.setState({newMsg: ""});
//this.refs['ref1'].setNativeProps({text: ''})
//Keyboard.dismiss();
}
- リスト項目