HarmonyOS鸿蒙Next中ReactNative Modal加载的View无法响应点击事件

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS鸿蒙Next中ReactNative Modal加载的View无法响应点击事件

Bug description: 基于 ReactNative 开发的项目, 用到的 RN 原生组件 Modal, 子 VIew 包含 TouchableOpacity, 但是其 onPress 无法正常回调, 代码如下

<Modal transparent visible={_visible} onRequestClose={onRequestClose || onCloseIconClick || onFooterClick}>
<View style={{ width: 390, height: 720, backgroundColor: 'rgba(0, 0, 0, .3)', justifyContent: 'flex-end' }}>
<View style={{ backgroundColor: ThemeColor.B020.day, justifyContent: 'flex-end', borderTopLeftRadius: 8, borderTopRightRadius: 8 }}>

</View>
<TouchableOpacity style={{ flex: 1 }} onPress={() => {
console.log(`xue'q`)
alert(0)
}} activeOpacity={0.6}>
<Box c flex={1} f={18} cl="T010" bg='Red010' fw="500">
点击事件出发(无法响应)
</Box>
</TouchableOpacity>
</View>
</Modal>

Scenario:

Raised by:

Expected resolution time:


更多关于HarmonyOS鸿蒙Next中ReactNative Modal加载的View无法响应点击事件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

缺少一行代码: super.onWindowStageCreate(windowStage)

更多关于HarmonyOS鸿蒙Next中ReactNative Modal加载的View无法响应点击事件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,ReactNative Modal加载的View无法响应点击事件,可能是由于Modal组件的层级或事件传递机制导致的。鸿蒙系统的UI框架与Android不同,事件传递和处理机制也有所差异。Modal组件可能未正确继承或处理鸿蒙系统的事件分发机制,导致View无法响应点击事件。可以通过检查Modal组件的实现逻辑,确保其符合鸿蒙系统的事件处理规范。

在HarmonyOS鸿蒙Next中,React Native的Modal组件加载的View无法响应点击事件,可能是由于层级或事件传递问题导致。可以尝试以下解决方案:

  1. 检查层级:确保Modal中的View没有被其他组件遮挡,且层级正确。
  2. 事件传递:确认ViewonPress或其他事件处理函数已正确绑定。
  3. pointerEvents属性:检查ViewpointerEvents属性是否被设置为none,需确保为auto
  4. 调试:使用console.log或调试工具确认事件是否触发。

如果问题仍未解决,建议检查React Native与HarmonyOS的兼容性,或考虑使用原生组件替代。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!