HarmonyOS组件之Tabs

Tabs

1.1概念

  1. Tabs 视图切换容器,通过相适应的页签进行视图页面的切换的容器组件
  2. 每一个页签对应一个内容视图
  3. Tabs拥有一种唯一的子集元素TabContent

1.2子组件

  1. 不支持自定义组件为子组件,仅可包含子组件TabContent,以及渲染控制类型 if/else 和 ForEach 并且 if/else 和ForEach下页仅支持TabContent,不支持自定义组件

1.2.1TabContent

  1. 有几个页签就写入几个TabContent
  2. 和build一样,只能有唯一一个子组件

1.3参数(接口)

Tabs(value?: {barPosition?: BarPosition, index?: number, controller?: TabsController})

   Tabs({//默认的页面索引index: 0, // 页签的位置barPosition: BarPosition.End,// controller: 控制器,控制页签样式controller: this.TabController}) {//有几个页签就写几个TabContent//和build一样只能有一个唯一的子组件TabContent() {}}
参数名参数类型
barPositionBarPosition
indexNumber
controllerTabsController
  • barPosition:设置页签位置,(配合vertical属性一并使用)
  • index:起始索引,设置当前视图页签的索引,默认是0
  • controller:Tabs控制器

1.3.1 BarPosition枚举

名称描述
Startvertical属性方法设置为true时,页签位于容器左侧;
vertical属性方法设置为false时,页签为容器顶部
Endvertical属性方法设置为true时,页签位于容器右侧;
vertical属性方法设置为false时,页签为容器底部

注意:属性vertical(value:boolean):vertical默认值为false,表示内容页和导航栏垂直方向排列

1.3.2 Controller 页面控制器

  • 自定义:

    private TabController: TabsController = new TabsController()
    

1.4属性

vertical ( boolean )

  • 默认值:false,设置页签位置

scrollable : boolean

  • 设置是否可以通过滑动页面进行页面的切换

BarMode

  • 设置TabBar布局模式
    • fixed
    • Scrollable:每一个TabBar均使用实际的布局宽度,超过总长度(横向的tabs的barWidth,纵向的tabs的barHeight)可滑动

2.1代码

@Entry
@Component
struct Test01 {@State message: string = 'Hello World';// 当前页签的索引@State CurrentIndex: number = 0private TabController: TabsController = new TabsController()private scroller: Scroller = new Scroller();/**滚动条的滚动范围是父级的高度* 滚动条的高度 =父级的高度/x                       x=内容区域的高度/父级的高度* Scroll*    可滚动的容器组件,*    当子组件的布局尺寸超过父组件的尺寸时,内容可以滚动*    滚动的前提:主轴方向上的大小小于内容大小*  参数:*    scroller:可滚动组件的控制器,用于与可滚动的组件进行绑定**  属性:*    scrollable:设置滚动的方向,默认值ScrollDirection.Vertical*    scrollBar:设置滚动条的状态,默认值BarState.Auto*      on    默认开启      off:默认关闭      Auto:视情况出现*    scrollBarWidth();滚动条的宽度*    scrollBarColor():设置滚动条颜色**    建议:在最外层用Scroll,防止内容超出页面** */build() {Column() {Scroll(){Row() {this.tab('账号登录', 0)this.tab('短信登录', 1)this.tab('短信登录', 2)this.tab('短信登录', 3)}}.scrollable(ScrollDirection.Horizontal)// tab控制器Tabs({ controller: this.TabController }) {TabContent() {Column() {Scroll() {Text('第一页').backgroundColor(Color.Red).height(10000)}}.width('100%').height(500)}.backgroundColor(Color.Pink)TabContent() {Text('第二页')}}// .barWidth().barHeight(0)// 捕获视图的的行为 onChange只有一个参数,对于不同的组件具有不同的意义// 该index表示为当前视图的索引.onChange((index) => {this.CurrentIndex = index})}}@Buildertab(tabName: string, tabIndex: number) {Row() {Text(tabName).border({width: { bottom: this.CurrentIndex === tabIndex ? 2 : 0 },color: Color.Blue})}.onClick(() => {// 点击目标页签后,让当前的页签索引等于目标页签的索引this.CurrentIndex = tabIndexthis.TabController.changeIndex(this.CurrentIndex)}).width(120).height(30)}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/70279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为FusionCompute虚拟化平台

一、华为FusionCompute虚拟化套件介绍 华为FusionCompute虚拟化套件是业界领先的虚拟化解决方案,能够帮助客户带来如下的价值,从而大幅提升数据中心基础设施的效率。 帮助客户提升数据中心基础设施的资源利用率;帮助客户成倍缩短业务上线周期…

使用apt-rdepends制作软件离线deb安装包

使用apt-rdepends制作软件离线deb安装包 除基础软件外,还要获取软件依赖包。 依赖包工具安装 apt-get install apt-rdependsapt-rdepends工具使用 使用apt-rdepends工具,递归方式分析软件依赖,下载软件包本体,和依赖包。制作时…

【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑩】

ISO 14229-1:2023 UDS诊断【ECU复位0x11服务】_TestCase10 作者:车端域控测试工程师 更新日期:2025年02月18日 关键词:UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 TC11-010测试用例 用例ID测试场景验证要点参考条款预期结果TC…

什么是Scaling Laws(缩放定律);DeepSeek的Scaling Laws

什么是Scaling Laws(缩放定律) Scaling Laws(缩放定律)在人工智能尤其是深度学习领域具有重要意义,以下是相关介绍及示例: 定义与内涵 Scaling Laws主要描述了深度学习模型在规模(如模型参数数量、训练数据量、计算资源等)不断扩大时,模型性能与这些规模因素之间的…

大一计算机的自学总结:前缀树(字典树、Trie树)

前言 前缀树&#xff0c;又称字典树&#xff0c;Trie树&#xff0c;是一种方便查找前缀信息的数据结构。 一、字典树的实现 1.类描述实现 #include <bits/stdc.h> using namespace std;class TrieNode { public:int pass0;int end0;TrieNode* nexts[26]{NULL}; };Tri…

【存储中间件API】MySQL、Redis、MongoDB、ES常见api操作及性能比较

常见中间件api操作及性能比较 ☝️ MySQL crud操作✌️ maven依赖✌️ 配置✌️ 定义实体类✌️ 常用api ☝️ Redis crud操作✌️ maven依赖✌️ 配置✌️ 常用api ☝️ MongoDB crud操作✌️ maven依赖✌️ 配置文件✌️ 定义实体类✌️ MongoDB常用api ☝️ ES crud操作 ⭐️…

51单片机入门_10_数码管动态显示(数字的使用;简单动态显示;指定值的数码管动态显示)

接上篇的数码管静态显示&#xff0c;以下是接上篇介绍到的动态显示的原理。 动态显示的特点是将所有位数码管的段选线并联在一起&#xff0c;由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选&#xff…

C++入门《类和对象》之《运算符重载》详解|成员函数重载/非成员函数重载

C 中&#xff0c;运算符重载是一种特殊的函数&#xff0c;它允许程序员为自定义的数据类型&#xff08;如类和结构体&#xff09;重新定义运算符的行为&#xff0c;使得这些运算符能够像处理内置数据类型一样处理自定义类型的数据。下面将从多个方面详细讲解 C 里的运算符重载。…

Salesforce 检索Layout的设定

做了许多Object&#xff0c;却想不起来怎么设置我的Listview的项目了。 問題&#xff1a; salesforce 最近参照したオブジェクト 表示項目を変更したいですが、「検索レイアウト」の選択メニューが該当オブジェクトのオブジェクトマネージャーから出てないです。 解決方法&am…

SECS/GEM300应用案例参考

GEM300 是一种用于半导体制造领域的通信协议标准&#xff0c;主要用于支持 300mm 晶圆制造的自动化生产。以下是 GEM300 的一些具体应用案例&#xff1a; 1. 半导体设备集成 设备制造商的应用&#xff1a;广州金南瓜科技有限公司通过 GEM300 SDK&#xff0c;帮助国内多个半导体…

win10系统上的虚拟机安装麒麟V10系统提示找不到操作系统

目录预览 一、问题描述二、原因分析三、解决方案四、参考链接 一、问题描述 win10系统上的虚拟机安装麒麟V10系统提示找不到操作系统&#xff0c;报错&#xff1a;Operating System not found 二、原因分析 国产系统&#xff0c;需要注意的点&#xff1a; 需要看你的系统类…

情书网源码 情书大全帝国cms7.5模板

源码介绍 帝国cms7.5仿《情书网》模板源码&#xff0c;同步生成带手机站带采集。适合改改做文学类的网站。 效果预览 源码获取 情书网源码 情书大全帝国cms7.5模板

C语言题目:链表数据求和操作

题目描述 读入10个复数&#xff0c;建立对应链表&#xff0c;然后求所有复数的和。 输入格式 无 输出格式 无 样例输入 1 2 1 3 4 5 2 3 3 1 2 1 4 2 2 2 3 3 1 1 样例输出 2323i 代码功能概述 createNode 函数&#xff1a; 创建一个包含 10 个复数节点的链表。 每个…

STM32 ADC介绍(硬件原理篇)

目录 背景 AD转换器 采样与保持 量化 编码 AD转换器转换原理 DA转换原理 AD转换原理 1.逐次逼近型AD转换器 2.并联比较型AD转换器 编码器 同步D触发器和边沿D触发器 基本RS触发器 同步RS触发器 同步D触发器 边沿型D触发器&#xff08;维持-阻塞D触发器&#xff…

公网远程家里局域网电脑过程详细记录,包含设置路由器。

由于从校内迁居小区,校内需要远程控制访问小区内个人电脑,于是早些时间刚好自己是电信宽带,可以申请公网ipv4不需要花钱,所以就打电话直接申请即可,申请成功后访问光猫设备管理界面192.168.1.1,输入用户名密码登录超管(密码是网上查下就有了)设置了光猫为桥接模式,然后…

流行编程语言全解析:优势、应用与短板

Python&#xff1a; 优势 Python 以其简洁、易读的语法闻名&#xff0c;新手能快速上手。丰富的库和框架&#xff0c;能极大地提高开发效率。 适用领域 数据科学与分析&#xff1a;处理和分析大规模数据集&#xff0c;进行数据可视化。典型示例&#xff1a;Google 用 Pytho…

统信服务器操作系统V20 1070A 安装docker新版本26.1.4

应用场景&#xff1a; 硬件/整机信息&#xff1a;x86平台、深信服超融合平台 OS版本信息&#xff1a;统信V20 1070a 1.获取docker二进制包 链接: https://pan.baidu.com/s/1SukBlra0mQxvslTfFakzGw?pwd5s5y 提取码: 5s5y tar xvf docker-26.1.4.tgz groupadd docker ch…

在 Vue 3 中使用 Lottie 动画:实现一个加载动画

在现代前端开发中&#xff0c;动画是提升用户体验的重要元素之一。Lottie 是一个流行的动画库&#xff0c;它允许我们使用 JSON 文件来渲染高质量的动画。本文将介绍如何在 Vue 3 项目中集成 Lottie 动画&#xff0c;并实现一个加载动画效果。 如果对你有帮助请帮忙点个&#x…

【Spring】Spring配置文件

目录 ​什么是配置文件&#xff1f; 配置文件的作用 SpringBoot配置文件 配置文件格式 配置文件的优先级 properties配置文件说明 properties基本语法 读取配置文件 properties缺点 yml配置文件说明 yml基本语法 使用yml连接数据库 yml配置不同数据类型及null 注意…

蓝桥杯篇---实时时钟 DS1302

文章目录 前言特点简介1.低功耗2.时钟/日历功能3.32字节的额外RAM4.串行接口 DS1302 引脚说明1.VCC12.VCC23.GND4.CE5.I/O6.SCLK DS1302 寄存器1.秒寄存器2.分钟寄存器3.小时寄存器4.日寄存器5.月寄存器6.星期寄存器7.年寄存器8.控制寄存器 DS1302 与 IAP25F2K61S2 的连接1.CE连…