2016-09-27 10 views
1

Я хочу, чтобы пометить вид, когда элемент списка щелкнул. И использовал этот код, он отлично работает, если я не прокручиваю представление списка и не работает вообще, если я прокручиваю ,React native modal с элементом просмотра списка нажмите

renderGymData(rowData){ 
return(
<View> 
     <Modal 
      animationType={'none'} 
      transparent={false} 
      visible={!!this.state.selectedRow}> 
      .... 
     </Modal> 

     <TouchableHighlight onPress={() => this.showGymDetail(rowData)} > 
     .... 
     </TouchableHighlight> 
     </View>); 
} 
and the render method of my list view is 

render() { 

    return (
     <ListView 
     dataSource={this.state.dataSource} 
     renderRow={this.renderGymData.bind(this)} 
     style={styles.listView}> 
     </ListView> 
    ); 

}

Я не хочу использовать navigator.push, потому что я хочу, чтобы вид появляться модально.

ответ

1

Используйте только модификатор и визуализируйте его ниже ListView, а не внутри renderRow, и передайте данные строки в Modal при щелчке по элементу списка.

render() { 
    return (
    <View> 
     <ListView 
     dataSource={this.state.dataSource} 
     renderRow={this.renderGymData.bind(this)} 
     style={styles.listView}> 
     </ListView> 
     <Modal 
      animationType={'none'} 
      transparent={false} 
      visible={!!this.state.selectedRow}> 
      .... 
     </Modal> 
    </View> 
); 
}