2016-08-21 3 views
0

Например, если вы хотите, чтобы закрыть модальное когда серый фон (в любом месте за пределами средней белой коробке) сливают:Откуда вы знаете, когда был прослушен View, но его ребенок не был?

enter image description here

containerOnClick(e) { 
    if (isNotInsideChildView(e)) { 
     closeModal() 
    } 
    } 

<TouchableWithoutFeedback 
    onPress={this.containerOnClick} 
    > 
    <View 
    style={{ 
     backgroundColor: 'rgba(0, 0, 0, 0.5)', 
     flex: 1, 
     justifyContent: 'center', 
    }} 
    > 
    <View 
     style={{ 
     backgroundColor: 'white', 
     padding: 10, 
     }} 
     > 
     <Text>dkfj</Text> 
    </View> 
    </View> 
</TouchableWithoutFeedback> 

ответ

0

Заверните ребенка в <Touchable*> компонента. Descendent Touchables (даже без опоры onPress) блокирует onPress от происходящего с предком. Прикосновения внутри границ потомка.

Смежные вопросы