# Tabbar 底部导航栏

[toc]

本组件为自定义底部导航栏，在原先导航栏的基础上加入了红点、半圆形图标等功能。

## 组件引入

在`app.json`或在页面`index.json`中引入：

```json
{
  "usingComponents": {
    "tea-tabbar": "../dist/tabbar/index"
  }
}
```

## 用法

### 基本用法

```html
<tea-tabbar
  bind:change="change"
  textSize="16"
  position="unset"
>
  <tea-tabbar-item title="首页" name="home"></tea-tabbar-item>
  <tea-tabbar-item title="发现" name="find"></tea-tabbar-item>
  <tea-tabbar-item title="消息" name="info"></tea-tabbar-item>
  <tea-tabbar-item title="个人" name="personal"></tea-tabbar-item>
</tea-tabbar>
```

### 路由跳转

```html
<tea-tabbar
  bind:change="change"
  textSize="16"
  position="unset"
  route
>
  <tea-tabbar-item
    title="首页"
    name="home"
    url="/pages/index/index"
  ></tea-tabbar-item>
  <tea-tabbar-item
    title="发现"
    name="find"
    url="/pages/button/index"
    redirect
  ></tea-tabbar-item>
  <tea-tabbar-item
    title="消息"
    name="info"
    url="/pages/avatar/index"
  ></tea-tabbar-item>
  <tea-tabbar-item
    title="个人"
    name="personal"
    url="/pages/list/index"
  ></tea-tabbar-item>
</tea-tabbar>
```

### 异步改变value 值

```html
<tea-tabbar
  bind:change="change"
  textSize="16"
  position="unset"
  value="{{ current }}"
>
  <tea-tabbar-item title="首页" name="home"></tea-tabbar-item>
  <tea-tabbar-item title="发现" name="find"></tea-tabbar-item>
  <tea-tabbar-item title="消息" name="info"></tea-tabbar-item>
  <tea-tabbar-item title="个人" name="personal"></tea-tabbar-item>
</tea-tabbar>
```

### 指定字体颜色和字体大小

```html
<tea-tabbar
  bind:change="change"
  textSize="20"
  position="unset"
  color="#FF9C19"
  activeColor="#FF584C"
>
  <tea-tabbar-item title="首页" name="home"></tea-tabbar-item>
  <tea-tabbar-item title="发现" name="find"></tea-tabbar-item>
  <tea-tabbar-item title="消息" name="info"></tea-tabbar-item>
  <tea-tabbar-item title="个人" name="personal"></tea-tabbar-item>
</tea-tabbar>
```

### 使用图片

```html
<tea-tabbar value="home" bind:change="change" textSize="12" position="unset">
  <tea-tabbar-item title="首页" name="home">
    <image src="image/home.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/home-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="发现" name="find">
    <image src="image/find.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/find-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="消息" name="info">
    <image src="image/info.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/info-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="个人" name="personal">
    <image src="image/personal.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/personal-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
</tea-tabbar>
```

### 使用图标

```html
<tea-tabbar
  value="home"
  bind:change="change"
  textSize="12"
  position="unset"
  color="#444"
  activeColor="#006EFF"
  iconSize="18"
>
  <tea-tabbar-item title="标签一" name="home" icon="minus-fill" childIconSize="24"></tea-tabbar-item>
  <tea-tabbar-item title="标签一" name="find" icon="close-fill" childIconSize="24"></tea-tabbar-item>
  <tea-tabbar-item title="标签一" name="info" icon="add-fill" childIconSize="24"></tea-tabbar-item>
  <tea-tabbar-item title="标签一" name="personal" icon="warning-fill" childIconSize="24"></tea-tabbar-item>
</tea-tabbar>
```

### 自定义背景颜色和背景图

```html
<tea-tabbar
  value="home"
  bind:change="change"
  textSize="12"
  position="unset"
  backgroundColor="#BBBBBB"
  backgroundImage="https://imgcache.qq.com/open_proj/proj_qcloud_v2/rocket_images/1572959884162_fvfl50dsgyi7ldi.svg"
>
  <tea-tabbar-item title="首页" name="home">
    <image src="image/home.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/home-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="发现" name="find">
    <image src="image/find.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/find-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="消息" name="info">
    <image src="image/info.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/info-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="个人" name="personal">
    <image src="image/personal.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/personal-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
</tea-tabbar>
```

### 自定义半圆形图片

```html
<tea-tabbar value="home" bind:change="change" textSize="12" position="unset">
  <tea-tabbar-item title="首页" name="home">
    <image src="image/home.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/home-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="发现" name="find">
    <image src="image/find.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/find-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="发布" circle bind:circle="circle">
    <image src="image/upload.svg" style="width:32px;height:32px;" />
  </tea-tabbar-item>
  <tea-tabbar-item title="消息" name="info">
    <image src="image/info.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/info-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="个人" name="personal">
    <image src="image/personal.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/personal-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
</tea-tabbar>
```

### 指定半圆形的大小

```html
<tea-tabbar value="home" bind:change="change" textSize="12" position="unset">
  <tea-tabbar-item title="首页" name="home">
    <image src="image/home.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/home-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="发现" name="find">
    <image src="image/find.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/find-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="发布" circle circleSize="40" bind:circle="circle">
    <image src="image/upload.svg"  style="width:28px;height:28px;" />
  </tea-tabbar-item>
  <tea-tabbar-item title="消息" name="info">
    <image src="image/info.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/info-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
  <tea-tabbar-item title="个人" name="personal">
    <image src="image/personal.svg" alt="" slot="icon" class="tabbar-icon" />
    <image src="image/personal-active.svg" alt="" slot="icon-active" class="tabbar-icon" />
  </tea-tabbar-item>
</tea-tabbar>
```

### 支持下划线

```html
<tea-tabbar
  bind:change="change"
  textSize="16"
  position="unset"
  underline
>
  <tea-tabbar-item title="首页" name="home"></tea-tabbar-item>
  <tea-tabbar-item title="发现" name="find"></tea-tabbar-item>
  <tea-tabbar-item title="消息" name="info"></tea-tabbar-item>
  <tea-tabbar-item title="个人" name="personal"></tea-tabbar-item>
</tea-tabbar>
```

### 自定义半圆形图标

```html
<tea-tabbar
  value="home"
  bind:change="change"
  textSize="12"
  position="unset"
  color="#444"
  activeColor="#006EFF"
  iconSize="18"
>
  <tea-tabbar-item title="标签一" name="home" icon="minus-fill" childIconSize="24"></tea-tabbar-item>
  <tea-tabbar-item title="标签一" name="find" icon="close-fill" childIconSize="24"></tea-tabbar-item>
  <tea-tabbar-item title="标签一" name="find" icon="add-fill" circle circleWidth="40" bind:circle="circle"></tea-tabbar-item>
  <tea-tabbar-item title="标签一" name="info" icon="add-fill" childIconSize="24"></tea-tabbar-item>
  <tea-tabbar-item title="标签一" name="personal" icon="warning-fill" childIconSize="24"></tea-tabbar-item>
</tea-tabbar>
```

### 红点

```html
<tea-tabbar value="home" bind:change="change" textSize="12" position="unset">
  <tea-tabbar-item title="首页" name="home">
    <tea-icon name="minus-fill" slot="icon"></tea-icon>
    <tea-icon name="minus-fill" slot="icon-active" color="#006eff"></tea-icon>
  </tea-tabbar-item>
  <tea-tabbar-item title="发现" name="find" dot>
    <tea-icon name="close-fill" slot="icon"></tea-icon>
    <tea-icon name="close-fill" slot="icon-active" color="#006eff"></tea-icon>
  </tea-tabbar-item>
  <tea-tabbar-item title="消息" name="info" info="10">
    <tea-icon name="delete" slot="icon"></tea-icon>
    <tea-icon name="delete" slot="icon-active" color="#006eff"></tea-icon>
  </tea-tabbar-item>
  <tea-tabbar-item title="个人" name="personal">
    <tea-icon name="warning-fill" slot="icon"></tea-icon>
    <tea-icon name="warning-fill" slot="icon-active" color="#006eff"></tea-icon>
  </tea-tabbar-item>
</tea-tabbar>
```

## Props

| 参数              | 描述          | 类型              | 默认值       | 可选值                          |
| --------------- | ----------- | --------------- | --------- | ---------------------------- |
| value           | 当前选中的tab值   | `String`        | -         | -                            |
| textSize        | 导航中的字体大小    | `String,Number` | `12`      | -                            |
| position        | 导航的位置       | `String`        | `bottom`  | `['top', 'bottom', 'unset']` |
| color           | 图标和文字的常规颜色  | `String`        | `#444444` | -                            |
| activeColor     | 图标和文字激活态的颜色 | `String`        | `#006EFF` | -                            |
| iconSize        | 导航中使用图标的大小  | `String,Number` | `24`      | -                            |
| backgroundColor | 自定义导航的背景颜色  | `String`        | `#FFFFFF` | -                            |
| backgroundImage | 自定义导航的背景图片  | `String`        | -         | -                            |
| route           | 是否开启路由跳转模式  | `Boolean`       | `false`   | -                            |
| underline       | 是否支持下划线     | `Boolean`       | `false`   | -                            |

## 事件

| 事件名    | 描述            | 回调参数       |
| ------ | ------------- | ---------- |
| change | 当导航切换的时候触发    | 当前导航的name值 |
| circle | 当圆形图标被点击的时候出发 | -          |

## Slots

| 名称  | 描述                 |
| --- | ------------------ |
| -   | 插入`tabbar-item`子节点 |

## 外部样式类

| 类名          | 描述       |
| ----------- | -------- |
| `ext-class` | 组件根节点样式类 |

## CSS变量属性表

| 变量名           | 默认值                  | 描述  |
| ------------- | -------------------- | --- |
| tabbar-height | @item-height-default | -   |
