HarmonyOS 接口回调的写法

一个页面引用了一个公共组件,希望获取公共组件的某个控件的点击事件。

1,page1中引入了NavigationBar组件:

NavigationBar({ title: this.bundleName, rightTitle: ‘切换城市’, flag: true, url: ‘’ })

2,公共组件NavigationBar中:

Text(this.rightTitle)
  .fontSize(16)
  .width('20%')
  .fontColor($r('app.color.main_color'))
  .margin({ right: 10 })
  .visibility(this.flag ? Visibility.Visible : Visibility.Hidden)
  .onClick(() => {
    //希望把该点击事件抛出到引用该公共组件的页面中去,该怎么写?
  })

希望能在page1中获取到NavigationBar的这个Text的点击事件(类似于java中的接口回调),该怎么写?

HarmonyOS
2024-12-26 14:55:36
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

请参考示例代码:

export interface MyInterDemo {
  func_1: () => void;
  func_2: () => boolean;
  func_3: (arg: string) => void;
}

@Entry
@Component
struct TestInterfacePage {

  testInter(inter: MyInterDemo) {
    console.log('testInter');
    inter.func_1();
    inter.func_2();
    inter.func_3('hello');
  }

  build() {
    Row() {
      Column() {
        Button('Test interface')
          .onClick(() => {
            let demo: MyInterDemo = {
              func_1: () => {
                console.log('func_1');
              },
              func_2: () => {
                console.log('func_2');
                return true;
              },
              func_3: (arg: string) => {
                console.log('func_3:' + arg);
              }
            }
            this.testInter(demo);
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}
分享
微博
QQ
微信
回复
2024-12-26 17:46:30
相关问题
HarmonyOS ArkTS接口案例
968浏览 • 1回复 待解决
HarmonyOS ArkTS接口案例问题
1495浏览 • 1回复 待解决
接口内定义匿名语法
2109浏览 • 1回复 待解决
HarmonyOS 事件
551浏览 • 1回复 待解决
HarmonyOS 点击事件方法
583浏览 • 1回复 待解决
HarmonyOS killAllProcesses()无成功
493浏览 • 1回复 待解决
HarmonyOS Watch没有
407浏览 • 1回复 待解决
HarmonyOS onNewWant未
247浏览 • 1回复 待解决
HarmonyOS Web组件
725浏览 • 1回复 待解决
HarmonyOS 组件渲染完成之后
325浏览 • 1回复 待解决
HarmonyOS Slider值问题
399浏览 • 1回复 待解决
HarmonyOS onAreaChange方法问题
562浏览 • 1回复 待解决
HarmonyOS 屏幕亮度变化
293浏览 • 1回复 待解决
HarmonyOS 人脸识别问题
425浏览 • 1回复 待解决
HarmonyOS 音频output 次数太少
844浏览 • 1回复 待解决