如何实现事件透传,你会吗?

​例如在一个Stack中,有两个兄弟组件,组件A被组件B盖住,用户点击组件B时能否将点击事件透传至组件A,触发组件A的onClick回调而不触发组件B的onClick回调。

HarmonyOS
2024-01-21 12:56:02
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
荣光因缘来

组件B设置hitTestBehavior属性为HitTestMode.None即可。

代码示例

@Entry 
@Component 
struct StackExample { 
  build() { 
    Stack({ alignContent: Alignment.Bottom }) { 
      Text('A') 
        .width('90%') 
        .height('100%') 
        .backgroundColor(0xd2cab3) 
        .align(Alignment.Top) 
        .onClick(() => { 
          console.log('11111') 
        }) 
      Text('B') 
        .width('70%') 
        .height('60%') 
        .backgroundColor(0xc1cbac) 
        .align(Alignment.Top) 
        .hitTestBehavior(HitTestMode.None) 
        .onClick(() => { 
          console.log('1111122222') 
        }) 
    }.width('100%').height(150).margin({ top: 5 }) 
  } 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

参考链接

触摸测试控制

分享
微博
QQ
微信
回复
2024-01-22 15:20:48


相关问题
怎么onClick事件
598浏览 • 1回复 待解决
两个重叠的组件如何实现事件
1156浏览 • 1回复 待解决
如何获取设备信息,
2802浏览 • 1回复 待解决
customDialog焦点
1195浏览 • 1回复 待解决
HarmonyOS 弹层的点击事件处理
547浏览 • 1回复 待解决
如何设置沉浸式窗口,
2894浏览 • 1回复 待解决
HarmonyOS NFC
532浏览 • 1回复 待解决
如何使应用一键变灰,
3118浏览 • 1回复 待解决
如何实现多行输入,知道
2350浏览 • 1回复 待解决
如何退出应用,了解
3219浏览 • 1回复 待解决
如何创建Toast窗口,知道
2268浏览 • 1回复 待解决
如何保持屏幕常亮,知道
3200浏览 • 1回复 待解决
如何获取屏幕宽高,知道
2992浏览 • 1回复 待解决
如何将点击事件传到下一层
2149浏览 • 1回复 待解决
如何后台播放音乐,知道
3231浏览 • 1回复 待解决
如何获取系统时间戳,知道
3461浏览 • 1回复 待解决