React native:如何在单击按钮时获取Text值?

时间:2018-01-11 12:13:05

标签: react-native

我有一个Text,我想在点击时获取文字值。

例如

click()
{
    // how to get text value here 
}

<Text style={{color: 'red,textAlign:'center'}} onPress={this.click.bind(this)}>
    Name
</Text> 

3 个答案:

答案 0 :(得分:1)

您可以在状态内维护文本,并在单击按钮时获取文本值。

export default class SampleApp extends Component{

  constructor(props){
    super(props);
    this.state = {
      titleText: "Click to get text! - ",
      count:1
    };
  }

  render() {
    return (
      <View style={{flex:1}}>
        <Text style={{color:'black'}} onPress={()=>{this.onPressTitle()}}>
          {this.state.titleText}
        </Text>
      </View>
    );
  }

  onPressTitle(){
    alert(this.state.titleText+this.state.count);
    this.setState({count:this.state.count+1});
  }
}

适用于动态文字。

答案 1 :(得分:1)

您可以使用ref属性访问Text的值。

<Text ref='myText'>This is my text</Text>
<Button onPress={()=>alert(this.refs.myText.props.children)} title='Press Me'/>

答案 2 :(得分:1)

也可以通过这种方式完成...

<Text onPress={(event) => console.log(event._dispatchInstances.memoizedProps.children)} >{value}</Text>