2016-09-27 6 views
1

リストアイテムがクリックされたときにモーダルにビューをポップしたい。このコードを使用しているとリストビューをスクロールせずにスクロールしてもうまくいかない。リストビューアイテムでネイティブモーダルに反応するをクリック

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

モーダルのみを使用し、renderRowの内部ではなくListViewのベローにし、リスト項目をクリックすると行データをモーダルに渡します。

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> 
); 
} 
関連する問題