Получить текстовое значение из текстового компонента

0
задан NoName 5 March 2019 в 15:08
поделиться

2 ответа

Давайте рассмотрим пример: вы обрабатываете свои быстрые ответы в массиве.

  state = {
    quickReplies: ['Reply 1', 'Reply 2', 'Reply 3', 'Reply 4'],
  };

Вы можете отобразить их как:

{this.state.quickReplies.map(reply => 
  <TouchableHighlight style={styles.quickReply} onPress={()=>this.onPress(reply)}>
    <Text>{reply}</Text>
  </TouchableHighlight>
)}

, где функция onPress может быть:

  onPress = (reply) => {
    console.log(reply);
  }

Также обратите внимание, что <Text> из реагируют native также принимает опору onPress. Вы можете легко использовать его, не оборачивая каждый элемент в <TouchableHighlight>

0
ответ дан Milore 5 March 2019 в 15:08
поделиться

Поскольку вы уже знаете значение текста, так как вы его установили, вам, вероятно, следует просто передать его функции onPress.

Это означает, что вы можете сделать что-то вроде:

onPress = (text) => () => {
  console.log(text);
  // do all the things that should happen when the text is pressed
}

Затем в вашем TouchableHighlight передать значение. Это значение может быть из штата или жестко закодировано, как вы делали выше.

<TouchableHighlight style={styles.quickReply} onPress={this.onPress('Yes')}>
  <Text>Yes</Text>
</TouchableHighlight>
0
ответ дан Andrew 5 March 2019 в 15:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: