0

我收到了来自 API 的响应,然后我使用 nativebase.io cardlist 解析并在屏幕上显示一些功能。当显示所有结果时,我希望每张卡片都是可点击的,并且每次点击都会导致下一个详细信息屏幕,具体取决于特定卡片的内容。但是,当由于某种原因呈现卡片列表时,每张卡片都会在没有用户交互的情况下被点击。因此,我正在寻找仅在我触摸任何特定卡片时才允许卡片点击的解决方案。

class Results extends Component{

constructor(props){
  super(props);
  this.state = {
    data: this.props.results
  }
}

renderRow(item){
  const bars = [ require('../assets/bar0.png'), 
                   require('../assets/bar1.png'),
                    require('../assets/bar2.png'),
                     require('../assets/bar3.png')]
  var bar = item.weight === -1 ? bars[0] : bars[item.weight]                   
  return (
    <CardItem button onPress={console.log("Pressed")} style={{width: 400}}>
      <Thumbnail source={bar}/>
      <Text>{item.label}</Text>
      <Text note style={{textDecorationLine: 'line-through'}}>{item.excluded}</Text>
    </CardItem>
  )    
}

render(){
  console.log(this.state.data)
  return (
      <Container>
        <Header>
            <Title>symptoma</Title>
        </Header>
        <Content>
          <Card dataArray={this.state.data}
            renderRow={(item) =>
                        this.renderRow(item)
                        }>
          </Card>
        </Content>
      </Container>
    );
  }
}

export default Results
4

1 回答 1

0

代替

onPress={console.log("Pressed")} 

onPress={() => console.log("Pressed")}
于 2016-12-13T12:03:12.727 回答