【发布时间】:2019-06-19 02:29:43
【问题描述】:
我有 2 个嵌套的 Touchables,我想在外部 Touchable 和内部 Touchable 中捕获 onPress 事件,但只有内部的事件会触发 onPress 事件,所以我们可以说事件没有传播到父元素
我正在使用 React-Native 0.57
这是我的零食example。
我也在这里重新发布我的渲染代码:
<TouchableOpacity onPress={() => alert('outer')}
style={{ backgroundColor: 'red', width: 200, height: 200 }}>
<TouchableOpacity onPress={() => alert('inner')}
style={{ backgroundColor: 'green', width: 100, height: 100 }}
/>
</TouchableOpacity>
如何只显示内部警报或外部警报。
相反,我想在绿色视图上显示外部和内部警报...
代码是简化版,实际情况下,内部Touchable是一个可以在各种场景中使用的组件,可以在Touchable内部,也可以在非Touchable组件中
【问题讨论】:
-
为什么要嵌套两个
TouchableOpacity组件。只需删除您不想用View替换的那个。 -
代码是简化版,实际情况下,内部
Touchable是一个可以在各种场景中使用的组件,要么在Touchable内部,要么在非Touchable组件中 -
用
VIew替换TouchableOpacity -
对不起,但这不是我问题的答案,使用您的解决方案,应用程序的行为会非常不同。我想要一个事件触发按下红色块(不是绿色),2 个事件触发按下绿色块
-
@David 我可以看到这两个答案都不是很好的解决方案,您找到解决方案了吗?