HarmonyOS 点击事件的回调方法

list显示多个listitem,listitem有一个组件是:

Toggle({ type: ToggleType.Switch, isOn: false })
  .selectedColor($r('app.color.rgb_color_125_193_114'))
  .onChange((isOn: boolean) => {
    console.info('isOn-' + isOn)
  })
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

想把Toggle的onChange的点击事件通过listitem定义一个属性,属性是一个回调方法然后list页面的listitem接这个回调方法,应该如何实现?

HarmonyOS
2024-12-25 12:45:35
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect

示例参考如下:

@Component
export struct ListChildItem {
  onClickOK?: (isOn: boolean) => void;

  build() {
    Column() {
      Toggle({ type: ToggleType.Switch, isOn: false })
        .selectedColor($r('app.color.start_window_background'))
        .onChange((isOn: boolean) => {
          if (this.onClickOK !== undefined) {
            this.onClickOK(isOn)
          }
        })
    }
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
List({ space: 20, initialIndex: 0 }) {
  ForEach(this.dataList, (item: number) => {

    ListChildItem({
      onClickOK: (isOk: boolean) => {
        console.log('isok------', isOk)
      }
    })

  }, (item: string) => item)
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
分享
微博
QQ
微信
回复
2024-12-25 16:01:12
相关问题
HarmonyOS 事件
1059浏览 • 1回复 待解决
HarmonyOS onAreaChange方法问题
1001浏览 • 1回复 待解决
HarmonyOS Scroll组件事件问题
1008浏览 • 1回复 待解决
HarmonyOS 登录组件点击隐私没有
685浏览 • 1回复 待解决
HarmonyOS @Watch方法没有改变
647浏览 • 1回复 待解决
通知栏点击事件监听方法
1211浏览 • 1回复 待解决
焦点事件onBlur/onFocus无法触发
2900浏览 • 1回复 待解决
HarmonyOS 组件是否有销毁方法
1504浏览 • 1回复 待解决
HarmonyOS Scroll方法执行改变
803浏览 • 1回复 待解决
HarmonyOS方法值如何转成vp
607浏览 • 1回复 待解决