解锁高效布局:Tab组件最佳实践指南

容器组件Tabs

当页面内容较多时,可以通过Tabs组件进行分类展示,以下这些效果都可以通过Tabs组件来实现

Tabs组件的页面组成包含两个部分,分别是TabContent和TabBar。TabContent是内容页,TabBar是导航页签栏,页面结构如下图所示,根据不同的导航类型,布局会有区别,可以分为底部导航、顶部导航、侧边导航,其导航栏分别位于底部、顶部和侧边
链接

基本用法

核心代码 复制代码
@Entry
@Component
struct demoTabbar {
  build() {
    Tabs() {
      // 顶级容器 TabContent() { 
      // 内容区域:只能有一个子组件 
    } .tabBar('首页')
    // 导航栏 
}
}

示例:

代码参考 复制代码
@Entry
@Component
struct demoTabs {
  build() {
    Tabs() {
      // 内容
      TabContent() {
        Text('首页的内容')
          .fontSize(30)
      }
      // tabBar
      .tabBar('首页')
      TabContent() {
        Text('推荐的内容')
          .fontSize(30)
      }
      .tabBar('推荐')
      TabContent() {
        Text('发现的内容')
          .fontSize(30)
      }
      .tabBar('发现')
      TabContent() {
        Text('我的内容')
          .fontSize(30)
      }
      .tabBar("我的")
    }
  }
}

常用属性

默认的 tabs 已经可以实现切换,接下来咱们来看看如何通过属性控制他

1.垂直导航

2.导航位置

3.禁用滑动切换

通过 Tabs 的属性进行调整:

●vertical 属性即可调整导航为 水平垂直

●barPosition 即可调整导航位置为 开头结尾

●scrollable 即可调整是否允许 滑动切换

●animationDuration 设置动画时间 毫秒

滚动导航栏

如果导航栏的内容较多,屏幕无法容纳时,可以将他设置为滚动

代码参考 复制代码
@Entry
@Component
struct demoTabs {
  titles: string [] = ['首页', '关注', '热门', '军事', '体育', '八卦', '数码', '财经', '美食', '旅行']

  build() {
    // 外层容器
    Tabs() {
      // 内容
      ForEach(this.titles, (title: string, index: number) => {
        TabContent() {
          Text(title + '的内容')
            .fontSize(30)
        }
        .tabBar(title)
      })

    }
    .barMode(BarMode.Scrollable)
  }
}

无从把握的时候才感到疲惫。只要去行动就能获得解放,哪怕做得不好也比无所作为强。 ---列夫·托尔斯泰-

相关推荐
linux_cfan21 分钟前
17 · 引擎适配器全景:HLS/DASH/Vimeo/Mux/Cast
前端·javascript·音视频
计算机魔术师1 小时前
烧掉2780亿美元还不够?OpenAI的资本豪赌让人头皮发麻
前端
IT_陈寒2 小时前
Java线程池用错参数,我的服务居然悄悄崩溃了
前端·人工智能·后端
卡布鲁2 小时前
React useMemo 与 useCallback 完全指南:原理、场景与避坑
前端·react.js
碳基修炼2 小时前
排查记:本地 devServer 是 http,浏览器却把 302 重定向升级成了 https
前端·http
步行cgn2 小时前
Spring p 命名空间注入详解
java·前端·spring
何何____2 小时前
Vue 生命周期详解
前端·javascript
江米小枣tonylua3 小时前
TypeScript 全面の拥抱 !Prisma 8 + Electron 升级实战
前端
闪耀之光M783 小时前
npm命令解析
前端
咸鱼老弟3 小时前
AI Agent 的"自主性悖论"——为什么给它的自由度越大,越要配一套更硬的护栏
前端·人工智能