• Lv0
    粉丝4

积分341 / 贡献0

提问49答案被采纳13文章1

父组件中如何处理子组件内点击事件

mean 显示全部楼层 发表于 2023-11-6 09:13:28

【问题描述】

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

【运行环境】

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

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

精彩评论1

星辰大海

沙发 发表于 2023-11-6 09:27:26

在父组件中初始化子组件时,将父组件中定义的方法,传递给子组件,在子组件中调用该方法,类似于变量传递。

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();

        })

    }

  }

}

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

返回顶部