如何防止 child View 来自 parents 的 onPress
How to prevent child View from parents's onPress
我有如下的 TouchableOpacity,
<TouchableOpacity style={{flex: 1, alignItems: center, justifyContent: 'center'}} onPress={() => parentOnPress()}>
<View style={{height: 50, width: 50}}>
<View>
<TouchableOpacity>
TouchableOpacity
里面的View
在View
外面占据了屏幕中心的一小部分应该是parentonPress
里面的目标View
的目标不应该是 parent onPress
的目标。
但就我而言,当我触摸内部时 View
parent onPress
被调用。
我如何防止 child View
来自 parent 的 onPress
?
尝试将 pointerEvents='none'
添加到 View
解决方法是将 View
替换为另一个未实现 onPress
:
的 TouchableOpacity
<TouchableOpacity
style={{
flex: 1,
alignItems: 'center',
justifyContent: 'center',
backgroundColor: 'black',
}}
onPress={() => {
// Do something
}}>
<TouchableOpacity
style={{
height: 50,
width: 50,
backgroundColor: 'blue',
}}>
{/* Content */}
</TouchableOpacity>
</TouchableOpacity>
我添加了一些背景颜色以便于测试。
我有如下的 TouchableOpacity,
<TouchableOpacity style={{flex: 1, alignItems: center, justifyContent: 'center'}} onPress={() => parentOnPress()}>
<View style={{height: 50, width: 50}}>
<View>
<TouchableOpacity>
TouchableOpacity
里面的View
在View
外面占据了屏幕中心的一小部分应该是parentonPress
里面的目标View
的目标不应该是 parent onPress
的目标。
但就我而言,当我触摸内部时 View
parent onPress
被调用。
我如何防止 child View
来自 parent 的 onPress
?
尝试将 pointerEvents='none'
添加到 View
解决方法是将 View
替换为另一个未实现 onPress
:
TouchableOpacity
<TouchableOpacity
style={{
flex: 1,
alignItems: 'center',
justifyContent: 'center',
backgroundColor: 'black',
}}
onPress={() => {
// Do something
}}>
<TouchableOpacity
style={{
height: 50,
width: 50,
backgroundColor: 'blue',
}}>
{/* Content */}
</TouchableOpacity>
</TouchableOpacity>
我添加了一些背景颜色以便于测试。