当前位置: 首页 > news >正文

鸿蒙组件学习_Tabs组件

说明

该组件从API Version 7 开始支持。

子组件

仅可包含子组件TabContent

参数
barPosition     设置Tabs的页签位置,默认值: BarPosition.StartStart   vertical属性方法设置为true时,页签位于容器左侧;vertical属性方法设置为false时,页签位于容器顶部。End     vertical属性方法设置true时,页签位于容器右侧;vertical属性方法设置为false时,页签位于容器底部。
index   设置初始页签索引,默认值: 0,可选值[0,TabContent子节点数量-1]
controller  设置Tabs控制器(TabsController)
属性
vertical    设置为false时为横向Tabs,设置为true时为纵向Tabs。默认值(false)
scrollable  设置为true时可以通过滑动页面进行页面切换,为false时不可滑动切换页面。默认值:true
barMode     TabBar布局模式Scrollable  超过该TabBar总长度可滑动Fixed   所有TabBar平均分配barWidth宽度
barWidth    TarBar的宽度值
barHeight   TabBar的高度值
animationDuration   TabContent滑动动画时长。不设置时,点击切换页签无动画,滑动切换有动画;设置时,点击切换和滑动切换都有动画。
事件
onChange((index) => {}) Tab页切换后触发的事件
触发该事件的条件:
1. TabContent支持滑动时,组件触发滑动时触发。
2. 通过控制器API接口调用。
3. 通过状态变量构造的属性值进行修改。
4. 通过页签处点击触发。
TabsController

Tabs组件的控制器,用于控制Tabs组件进行页面切换。不支持一个TabsController控制多个Tabs组件。
方法: changeIndex(value) 页签在Tabs里的索引值,索引值从0开始。

练习
@Entry
@Component
struct TabsTest {private controller: TabsController = new TabsController()private index: number = 0build() {Column(){Tabs({barPosition: BarPosition.End,index: this.index,controller: this.controller}){TabContent(){Text('首页')}.tabBar('首页')TabContent(){Text('分类')}.tabBar('分类')TabContent(){Text('购物')}.tabBar('购物')TabContent(){Text('我的')}.tabBar('我的')}.vertical(false).barPosition(BarPosition.End).scrollable(true).barMode(BarMode.Fixed).barWidth(300).barHeight(50).animationDuration(100).onChange((index) => {this.index = index}).height('90%')Button('切换下一个').onClick(() => {this.controller.changeIndex((this.index + 1) % 4)})}}
}

TabContent

说明

仅在Tabs中使用,该组件从API Version 7 开始支持。

子组件

支持单个子组件

tabBar属性可以调用@Builder函数来设计样式

http://www.lryc.cn/news/333105.html

相关文章:

  • 【LangChain学习之旅】—(19)BabyAGI:根据气候变化自动制定鲜花存储策略
  • thinkphp6入门(21)-- 如何删除图片、文件
  • 虚拟内存知识详解
  • 数据结构初阶:顺序表和链表
  • 在flutter中添加video_player【视频播放插件】
  • golang微服务框架特性分析及选型
  • 苹果cmsV10 MXProV4.5自适应PC手机影视站主题模板苹果cms模板mxone pro
  • GPU的了解
  • 鸿蒙实战开发-如何使用Stage模型卡片
  • 蓝桥杯刷题 前缀和与差分-[2128]重新排序(C++)
  • STM32重要参考资料
  • [StartingPoint][Tier0]Preignition
  • 数据库系统概论(超详解!!!)第三节 关系数据库标准语言SQL(Ⅴ)
  • SpringBoot | Spring Boot“整合Redis“
  • SV学习笔记(四)
  • Midjourney艺术家分享|By Moebius
  • Vue - 1( 13000 字 Vue 入门级教程)
  • Vue关键知识点
  • Prometheus+grafana环境搭建redis(docker+二进制两种方式安装)(四)
  • 宝塔面板安装nginx流媒体服务器(http-flv)
  • LNMP环境:揭秘负载均衡与高可用性设计
  • 深入理解Java异常处理机制(day20)
  • Docker实战教程 第1章 Linux快速入门
  • java数据结构与算法刷题-----LeetCode172. 阶乘后的零
  • 掌握数据相关性新利器:基于R、Python的Copula变量相关性分析及AI大模型应用探索
  • Centos7环境下安装MySQL8详细教程
  • 趣学前端 | 综合一波CSS选择器的用法
  • 数据库 06-04 恢复
  • 基于MPPT的风力机发电系统simulink建模与仿真
  • GD32F30x IO 复用问题