HarmonyOS 针对tabBar的切换事件埋点监听

https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-application-track-practice-V5

在这个运维埋点统计最佳实践中,在tabBar做切换时,可以检测到willClick的回调,在外部无法拿到具体的组件做id和customPoperty的绑定,导致无法获取到具体的自定义信息,该如何处理?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

可以尝试将tab和视图分开构造布局,在自定义tabBar上绑定id和customPoperty,参见以下demo:

import { DataResource } from '../common/DataResource';

@Entry
@Component
struct Index {
  private tabsController: TabsController = new TabsController()
  @State currentIndex: number = 0;

  onPageShow(): void {
    const uiContext: UIContext = this.getUIContext();
    console.log('text-1', JSON.stringify(uiContext.getFrameNodeById('text-1')?.getCustomProperty('text-1')));
  }

  @Builder
  TabBarBuilder(title: string, targetIndex: number) {
    Text(title)
      .fontWeight(targetIndex === this.currentIndex ? FontWeight.Bold : FontWeight.Normal)
      .padding(10)
      .id('text-' + (targetIndex + 1))//设置id
      .customProperty('text-' + (targetIndex + 1), DataResource['Index']['text-'+(targetIndex + 1)])//设置customProperty
      .onClick(() => {
        this.tabsController.changeIndex(targetIndex)
      })
  }

  build() {
    Row() {
      Column() {
        Flex({ direction: FlexDirection.Row }) {
          this.TabBarBuilder('页签1', 0)
          this.TabBarBuilder('页签2', 1)
        }

        Tabs({ barPosition: BarPosition.End, controller: this.tabsController }) {
          TabContent() {
            Text("页签1页面")
          }

          TabContent() {
            Text("页签2页面")
          }
        }
        .barHeight(0)
        .scrollable(false)
        .onChange((index: number) => {
          this.currentIndex = index;
        })
      }
    }
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS(全)如何实现
201浏览 • 1回复 待解决
HarmonyOS方案
254浏览 • 1回复 待解决
HarmonyOS怎么添加
189浏览 • 1回复 待解决
HarmonyOS方案
233浏览 • 1回复 待解决
HarmonyOS 方案如何实现
227浏览 • 1回复 待解决
HarmonyOS 关于页面方案咨询
632浏览 • 1回复 待解决
分析无法正常上报
1994浏览 • 1回复 待解决
HarmonyOS Next方案如何实现
9浏览 • 1回复 待解决
在应用内采集数据方式
748浏览 • 1回复 待解决
基于UI Observer实现UI组件
737浏览 • 1回复 待解决
HarmonyOS应用前后台状态切换事件监听
922浏览 • 1回复 待解决
HarmonyOS TabBar热区事件处理
175浏览 • 1回复 待解决
HarmonyOS 怎么实现网络切换监听
21浏览 • 1回复 待解决