为什么设置了onClick事件后,绑定的gesture事件就无效了?

如果单独设置onClick或者gesture,两个都能分别执行,但是如果当我给一个组件设置了onClick事件之后,再绑定一个gesture手势,gesture里的事件就不生效了?这是为什么呢?


Button("点击")
        .onClick(() => {
          console.log("===点击事件")
        })
        .gesture(TapGesture()
          .onAction((event: GestureEvent) => {
            if (event) {
              console.log("===TapGesture点击事件")
            }
          })
        )
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
鸿蒙点击事件
鸿蒙手势绑定
鸿蒙单一手势
4天前
浏览
收藏 0
回答 3
待解决
回答 3
按赞同
/
按时间
Huang兄

TapGesture默认是单击事件可以认为 和onClick是相同的事件

当 onClick 消费掉这次点击后,不会再次分发给 TapGesture

分享
微博
QQ
微信
回复
4天前
珲少

gesture是手势识别器,用来监听用户触摸,点击等交互,onClick可以理解为是更高抽象层次的交互方法,实现了onClick后,会终端事件的继续传递。


分享
微博
QQ
微信
回复
3天前
全栈若城
  • 事件冒泡机制 :HarmonyOS 中的事件处理遵循一定的优先级顺序
  • 事件拦截 : onClick 作为内置事件处理器,会默认拦截(消费)点击事件,导致自定义的 gesture 无法接收到事件
分享
微博
QQ
微信
回复
3天前
相关问题
Tabs选项绑定onClick事件之后无法切换
2290浏览 • 0回复 待解决
HarmonyOS onClick事件如何阻止事件冒泡
770浏览 • 1回复 待解决
nagios配置为什么页面是空
2807浏览 • 0回复 待解决
怎么透传onClick事件
717浏览 • 1回复 待解决