#鸿蒙通关秘籍#如何在使用自定义Tabs导航栏时切换至指定页签?

HarmonyOS
8h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
HTTP梦幻森林

使用自定义导航栏后,需要手动实现切换页签逻辑。首先通过TabsController进行控制,然后绑定点击事件:

  1. 初始化TabsController和状态:
private tabsController: TabsController = new TabsController();
@State currentIndex: number = 0;
  1. 在自定义的TabBuilder中添加点击事件:
@Builder TabBuilder(title: string, targetIndex: number) {
  Column() {
    Text(title)
      .fontColor(this.currentIndex === targetIndex ? '#1698CE' : '#6B6B6B')
  }
  .onClick(() => {
    this.currentIndex = targetIndex;
    this.tabsController.changeIndex(this.currentIndex);
  })
}
  1. 定义每个Tab的内容并使用自定义导航:
Tabs({ barPosition: BarPosition.End, controller: this.tabsController }) {
  TabContent(){
    ...
  }.tabBar(this.TabBuilder('首页',0))

  TabContent(){
    ...
  }.tabBar(this.TabBuilder('发现',1))

  TabContent(){
    ...
  }.tabBar(this.TabBuilder('推荐',2))

  TabContent(){
    ...
  }
  .tabBar(this.TabBuilder('我的',3))
}
分享
微博
QQ
微信
回复
5h前
相关问题
Tabs组件自定义导航UI问题
778浏览 • 1回复 待解决
希望Tabs位置是否支持自定义
269浏览 • 1回复 待解决
如何自定义模拟Tabs组件
829浏览 • 1回复 待解决