javascript - 嵌套的 TouchableOpacity Parent onPress 不起作用
问题描述
我有这个问题,我试图确保父母的 onPress 被触发,但它不会
我试图创建一个可以重用的自定义 touchableOpacity 组件,该组件包装其他组件,以便它可以决定是否可以显示子组件,并决定/更改按下子组件时会发生什么。
const CustomTouchable = (children, onPress) => {
function handleOnPress = () => {
if(validation){
onPress();
}
}
return <TouchableOpacity onPress={handleOnPress}>{children}</TouchableOpacity>
}
const MainComponent = () => {
function onPress = () => {console.log('test')}
<CustomTouchable onPress={onPress}>
<TouchableOpacity style={styles.button}>
<Text>Press Here</Text>
</TouchableOpacity>
</CustomTouchable>
}
但是没有触发父onPress,我该如何触发它?
解决方案
这是因为触摸事件是由孩子而不是父母接收的。将以下道具分配给您的子组件
pointerEvents={"none"}
推荐阅读
- c++ - 在 file.exe 中的 0x7A2A93B6 (vcruntime140d.dll) 处引发异常:0xC0000005:访问冲突读取位置 0xCDCDCDCD
- substrate - 从 SS58 地址获取公钥
- sql - 如何在 2 个表 oracle 上按分组选择?
- java - Springboot 应用程序中的 Crystal Report - 在 IDE(InteliJ)中运行没有错误,但 bootJar 显示错误
- windows - 查找重复名称但扩展名不同并移动到 Windows 上的另一个文件夹
- python-poetry - 无法在 Python 3.9 上使用 Poetry 安装加密包
- vue.js - 如何验证空输入字段的 vue.js 架构
- javascript - 切换 ui 选项卡时警告用户
- typescript - 如何创建一个缩小歧视联合的表达式?
- graph - 如何在 Tableau 中添加两条单独的平均线