Tabs

通过页签进行内容视图切换的容器组件,每个页签对应一个内容视图。

子组件

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

接口

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

参数:

参数名 类型 必填 说明
barPosition BarPosition 设置Tabs的页签位置。
默认值:BarPosition.Start
index number 设置当前显示页签的索引。
默认值:0
说明:
设置为小于0的值时按默认值显示。
可选值为[0, TabContent子节点数量-1]。
直接修改index跳页时,切换动效不生效。 使用TabController的changeIndex时,默认生效切换动效,可以设置animationDuration为0关闭动画。
从API version 10开始,该参数支持$$双向绑定变量。
controller TabsController 设置Tabs控制器。

详细属性参阅官方文档

Tabs

自定义tabBar

@Builder tabBuilder(index: number, name: string ,selectIcon:Resource,unselectIcon:Resource,border_radius_left:number,border_radius_right:number) {
    Column() {
      Column() {
        Image(this.currentIndex === index ? selectIcon: unselectIcon)
          .width(28)
          .height(26)
        Text(name)
          .fontSize(16)
          .fontColor(this.currentIndex ===  index ? "#BEFF33" : "#9C9C9C")
      }.width('100%').height('100%').margin({top:5})

    }.width('100%').height('100%')
    .backgroundColor('#000000')
    .borderRadius({topLeft:border_radius_left,topRight:border_radius_right,bottomLeft:border_radius_left,bottomRight:border_radius_right})
    .margin({left:border_radius_left,right:border_radius_right})
  }

效果展示

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐