往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)
TabTitleBar
页签型标题栏,用于页面之间的切换。仅一级页面适用。
说明
该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
导入模块
import { TabTitleBar } from '@kit.ArkUI'
子组件
无
属性
不支持通用属性
TabTitleBar
TabTitleBar({tabItems: Array<TabTitleBarTabItem>, menuItems?: Array<TabTitleBarMenuItem>, swiperContent: () => void})
装饰器类型:@Component
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
参数:
名称 | 参数类型 | 必填 | 装饰器类型 | 说明 |
---|---|---|---|---|
tabItems | Array<TabTitleBarTabItem> | 是 | - | 左侧页签项目列表,定义标题栏左侧的页签项目。 |
menuItems | Array<TabTitleBarMenuItem> | 否 | - | 右侧菜单项目列表,定义标题栏右侧的菜单项目。 |
swiperContent | () => void | 是 | @BuilderParam | 页签列表关联的页面内容构造器。 |
说明
入参对象不可为undefined,即TabTitleBar(undefined)。
TabTitleBarMenuItem
元服务API: 从API version 11开始,该接口支持在元服务中使用。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
value | ResourceStr | 是 | 图标资源。 |
isEnabled | boolean | 否 | 是否启用。默认禁用。true:启用,false:禁用。 |
action | () => void | 否 | 触发时的动作闭包。 |
TabTitleBarTabItem
元服务API: 从API version 11开始,该接口支持在元服务中使用。
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
title | ResourceStr | 是 | 文字页签。 |
icon | ResourceStr | 否 | 图片页签资源。 |
事件
不支持通用事件
示例
该示例实现了带有左侧页签和右侧菜单列表的页签型标题栏。
import { TabTitleBar, promptAction, TabTitleBarTabItem, TabTitleBarMenuItem } from '@kit.ArkUI'
@Entry
@Component
struct Index {
@Builder
//定义页签列表关联的页面
componentBuilder() {
Text("#1ABC9C\nTURQUOISE")
.fontWeight(FontWeight.Bold)
.fontSize(14)
.width("100%")
.textAlign(TextAlign.Center)
.fontColor("#CCFFFFFF")
.backgroundColor("#1ABC9C")
Text("#16A085\nGREEN SEA")
.fontWeight(FontWeight.Bold)
.fontSize(14)
.width("100%")
.textAlign(TextAlign.Center)
.fontColor("#CCFFFFFF")
.backgroundColor("#16A085")
Text("#2ECC71\nEMERALD")
.fontWeight(FontWeight.Bold)
.fontSize(14)
.width("100%")
.textAlign(TextAlign.Center)
.fontColor("#CCFFFFFF")
.backgroundColor("#2ECC71")
Text("#27AE60\nNEPHRITIS")
.fontWeight(FontWeight.Bold)
.fontSize(14)
.width("100%")
.textAlign(TextAlign.Center)
.fontColor("#CCFFFFFF")
.backgroundColor("#27AE60")
Text("#3498DB\nPETER RIVER")
.fontWeight(FontWeight.Bold)
.fontSize(14)
.width("100%")
.textAlign(TextAlign.Center)
.fontColor("#CCFFFFFF")
.backgroundColor("#3498DB")
}
//定义几个左侧的页签项目
private readonly tabItems: Array<TabTitleBarTabItem> =
[
{ title: '页签1' },
{ title: '页签2' },
{ title: '页签3' },
{ title: 'icon', icon: $r('sys.media.ohos_app_icon') },
{ title: '页签4' },
]
//定义几个右侧的菜单项目
private readonly menuItems: Array<TabTitleBarMenuItem> = [
{
value: $r('sys.media.ohos_save_button_filled'),
isEnabled: true,
action: () => promptAction.showToast({ message: "on item click! index 0" })
},
{
value: $r('sys.media.ohos_ic_public_copy'),
isEnabled: true,
action: () => promptAction.showToast({ message: "on item click! index 1" })
},
{
value: $r('sys.media.ohos_ic_public_edit'),
isEnabled: true,
action: () => promptAction.showToast({ message: "on item click! index 2" })
},
]
//TabTitleBar效果展示
build() {
Row() {
Column() {
TabTitleBar({
swiperContent: this.componentBuilder,
tabItems: this.tabItems,
menuItems: this.menuItems,
})
}.width('100%')
}.height('100%')
}
}