如何自定义处理父子组件间的事件传递,例如,如何解决滑动冲突?

北向实践与赋能 显示全部楼层 发表于 2024-1-4 11:24:42

如何自定义处理父子组件间的事件传递,例如,如何解决滑动冲突?

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论1

北向实践与赋能

沙发 发表于 2024-1-4 11:24:59

如何自定义处理父子组件间的事件传递,例如,如何解决滑动冲突?

关键字 事件,手势,自定义事件分发,父子组件事件传递

解决方案

  1. 系统会基于触摸测试来收集需要响应事件的控件,测试的顺序由父组件向子组件蔓延,后续手势的识别和竞争都基于hittest结果进行;
  2. 应用可通过改变组件上 hitTestBehavior 的值来改变系统对其的hittest结果;
  3. 更进一步的可通过自定义事件和自定义手势判定能力来细化对手势识别和竞争结果的干预;

参考资料

  1. hitTestBehavior:https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-hit-test-behavior.md
  2. 自定义事件分发:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/arkui-ts/ts-universal-attributes-on-child-touch-test.md
  3. 自定义手势判定:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/arkui-ts/ts-gesture-customize-judge.md

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部