HarmonyOS 父子组件滑动冲突?

功能需求:父组件onTouch触发前并未知道是否需要阻塞子节点web的滚动,onTouch触发过程需要临时阻塞web滚动。

目前问题:onTouch触发过程设置web().enabled(false),或者设置Column(){}.hitTestBehavior(HitTestMode.Block),都无法临时阻塞web的滚动,enabled和hitTestBehavior,只能在onTouch触发前设置才有效,无法满足功能需要

结构代码如下:

@State columnHitTestMode:HitTestMode=HitTestMode.Default
@State webEnabled:boolean=true
Column(){
  web().enabled(this.webEnabled)
}.hitTestBehavior(this.columnHitTestMode)
.onTouch((event?: TouchEvent)=>{
  if (!event) return
  switch (event.type){
    case TouchType.Down: {
      this.columnHitTestMode=HitTestMode.Block
      this.webEnabled=false
    }
    case TouchType.Down: {}
    case TouchType.Down: {
      this.columnHitTestMode=HitTestMode.Default
      this.webEnabled=false
    }
  })
阅读 551
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进