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)
  })

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

HarmonyOS
1天前
浏览
收藏 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)
          }
        })
    }
  }
}
List({ space: 20, initialIndex: 0 }) {
  ForEach(this.dataList, (item: number) => {

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

  }, (item: string) => item)
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 事件
67浏览 • 1回复 待解决
HarmonyOS onAreaChange方法问题
44浏览 • 1回复 待解决
HarmonyOS Scroll组件事件问题
224浏览 • 1回复 待解决
HarmonyOS @Watch方法没有改变
29浏览 • 1回复 待解决
通知栏点击事件监听方法
447浏览 • 1回复 待解决
HarmonyOS 组件是否有销毁方法
657浏览 • 1回复 待解决
焦点事件onBlur/onFocus无法触发
2049浏览 • 1回复 待解决
HarmonyOS Scroll方法执行改变
29浏览 • 1回复 待解决
HarmonyOS方法值如何转成vp
29浏览 • 1回复 待解决