解锁高效布局: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)
  }
}

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

相关推荐
仍然探索未知中1 分钟前
前端扫盲HTML
前端·html
Brilliant Nemo33 分钟前
Vue2项目中使用videojs播放mp4视频
开发语言·前端·javascript
酷爱码1 小时前
Linux实现临时RAM登录的方法汇总
linux·前端·javascript
LuckyLay1 小时前
Vue百日学习计划Day16-18天详细计划-Gemini版
前端·vue.js·学习
想要飞翔的pig1 小时前
uniapp+vue3页面滚动加载数据
前端·vue.js·uni-app
HarryHY1 小时前
git提交库常用词
前端
SoraLuna1 小时前
「Mac畅玩AIGC与多模态41」开发篇36 - 用 ArkTS 构建聚合搜索前端页面
前端·macos·aigc
霸王蟹1 小时前
React Fiber 架构深度解析:时间切片与性能优化的核心引擎
前端·笔记·react.js·性能优化·架构·前端框架
benben0441 小时前
Unity3D仿星露谷物语开发44之收集农作物
前端·游戏·unity·游戏引擎
会功夫的李白1 小时前
uniapp自动构建pages.json的vite插件
前端·uni-app·vite