HarmonyOS 鸿蒙Next onChildTouchTest()事件分发的文档看的有歧义吗?

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

HarmonyOS 鸿蒙Next onChildTouchTest()事件分发的文档看的有歧义吗?

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attributes-on-child-touch-test-V5

这个文档里面也没有说清楚onChildTouchTest()到底做了什么,尤其是三个示例也不知道是点了哪里说是可以滑动,哪里不能滑动;

尤其是示列三,说是不能滑动,但是测试是点list是可以滑动的,点击list之外肯定是不能滑动的,这个说的不能滑动不知道是点了哪里。

// xxx.ets

import { promptAction } from ‘@kit.ArkUI’;

@Entry

@Component

struct ListExample {

  private arr: number[] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

  @State text: string = ‘Button’

  build() {

    Column() {

      List({ space: 12, initialIndex: 0 }) {

        ForEach(this.arr, (item: number) => {

          ListItem() {

            Text('Item ’ + item)

              .width(‘100%’)

              .height(56)

              .fontSize(16)

              .textAlign(TextAlign.Start)

          }.borderRadius(24)

          .backgroundColor(Color.White)

          .padding({ left: 12, right: 12 })

        }, (item: string) => item)

      }

      .listDirection(Axis.Vertical)

      .scrollBar(BarState.Off)

      .edgeEffect(EdgeEffect.Spring)

      .onScrollIndex((start: number, end: number) => {

        console.info(‘first’ + start)

        console.info(‘last’ + end)

      })

      .onScroll((scrollOffset: number, scrollState: ScrollState) => {

        console.info(onScroll scrollState = ScrollState + scrollState + , scrollOffset = + scrollOffset)

      })

      .width(‘100%’)

      .height(‘65%’)

      .id(‘MyList’)

      Button(this.text)

        .width(312)

        .height(40)

        .id(‘Mybutton’)

        .fontSize(16)

        .fontWeight(FontWeight.Medium)

        .margin({ top: 80 })

        .onClick(() => {

          this.text = ‘click the button’

          promptAction.showToast({ message: ‘you click the button.’, duration: 3000 })

        })

    }

    .width(‘100%’)

    .height(‘100%’)

    .backgroundColor(0xF1F3F5)

    .justifyContent(FlexAlign.End)

    .padding({ left: 12, right: 12, bottom: 24 })

    .onChildTouchTest((touchinfo) => {

      return { strategy: TouchTestStrategy.DEFAULT }

    })

  }

}

cke_6004.jpeg

3 回复
感谢反馈,我们将确认此问题~

你们给出的文档不能有误导,如果功能做不出来,说明功能难,如果这么简单的文档都写不对或者是有文档还不如没有。这个让人怎么理解你们? 理解你们是技术能力强,写文档能力差?还是理解你们自己写的文档,自己都不用? 这么简单的事情都做不好,让大家说华为怎么怎么牛逼,不脸红吗?

关于HarmonyOS的onChildTouchTest()事件分发机制,其文档可能存在理解上的细微差异,这通常源于具体实现细节或上下文的不同。建议仔细对比官方文档与示例代码,特别是关注事件传递链中的return值,它决定了事件是否继续向下传递。同时,确认你的应用场景是否完全符合文档描述的上下文。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部