如何从TouchableHighlight组件中的文本组件中获取文本?

时间:2016-03-18 07:10:25

标签: text react-native

单击TouchableHighlight组件时,如何从TouchableHighlight组件中的文本组件中获取文本内容?给我一些写handleClickMenu函数的想法,谢谢。

  

一些代码如下:

<View>
  <TouchableHighlight underlayColor='#544b44' onPress={this.handleClickMenu}>
    <View style={MenuListStyle.menuItem}>
      <Icon name='heart' color='#df7454' style={MenuListStyle.menuItemIcon}/>
      <Text style={MenuListStyle.menuItemText}>GODDESS</Text>
    </View>
  </TouchableHighlight>
  <TouchableHighlight underlayColor='#544b44' onPress={this.handleClickMenu}>
    <View style={MenuListStyle.menuItem}>
      <Icon name='rss' color='#03a9f4' style={MenuListStyle.menuItemIcon}/>
      <Text style={MenuListStyle.menuItemText}>BLOG</Text>
    </View>
  </TouchableHighlight>
  ...
</View>

1 个答案:

答案 0 :(得分:0)

您可以使用bind传递其他参数。在这种情况下,您可以在handleClickMenu中获取MenuListStyle.menuItemText

handleClickMenu(text){
     if(text === <something>){
        //do something
     }
}
render(){
...    
<View>
  <TouchableHighlight underlayColor='#544b44' onPress={this.handleClickMenu.bind(this, MenuListStyle.menuItemText)}>
    <View style={MenuListStyle.menuItem}>
      <Icon name='heart' color='#df7454' style={MenuListStyle.menuItemIcon}/>
      <Text style={MenuListStyle.menuItemText}>GODDESS</Text>
    </View>
  </TouchableHighlight>
  <TouchableHighlight underlayColor='#544b44' onPress={this.handleClickMenu.bind(this, MenuListStyle.menuItemText)}>
    <View style={MenuListStyle.menuItem}>
      <Icon name='rss' color='#03a9f4' style={MenuListStyle.menuItemIcon}/>
      <Text style={MenuListStyle.menuItemText}>BLOG</Text>
    </View>
  </TouchableHighlight>
  ...
</View>
}