OpenHarmony开发者论坛

标题: 父组件中如何处理子组件内点击事件 [打印本页]

作者: mean    时间: 2023-11-6 09:13
标题: 父组件中如何处理子组件内点击事件
[md]【问题描述】

对代码进行了封装,想把事件统一在父组件处理,希望能提供一下开发思路。

【运行环境】

硬件:RK3568
ROM版本:OpenHarmony 3.2 Beta5
DevEvoStudio版本:
SDK版本:API 9 Stage模型

[/md]
作者: 星辰大海    时间: 2023-11-6 09:27
[md]在父组件中初始化子组件时,将父组件中定义的方法,传递给子组件,在子组件中调用该方法,类似于变量传递。

```
class Model {

  value: string

}

@Entry

@Component

struct EntryComponent {

  test() {

    console.log('testTag test in my component');

  }

  build() {

    Column() {

      MyComponent({ title: { value: 'Hello World 2' }, count: 7, onClick: this.test }) //初始化时传递定义的方法

    }

  }

}


@Component

struct MyComponent {

  @State title: Model = { value: 'Hello World' }

  @State count: number = 0

  onClick: any;

  private toggle: string = 'Hello World'

  private increaseBy: number = 1


  build() {

    Column() {

      Text(\`\${this.title.value}\`).fontSize(30)

      Button(\`Click to increase count=\${this.count}\`)

        .margin(20)

        .onClick(() => {

          // 修改内部状态变量count

          this.count += this.increaseBy

          this.onClick.call();

        })

    }

  }

}
```

[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5