0

超シンプルなチャットを構築したい。これを行うには、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();

}

  1. リスト項目
4

1 に答える 1