doc.en-US.md 4.2 KB
Newer Older
O
oasis-cloud 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#  Tabbar 标签栏

### 介绍

底部导航常用场景

### 安装

```ts
import { Tabbar, TabbarItem } from '@nutui/nutui-react';
```

## 代码演示

### 基础用法

:::demo
```tsx
import  React from "react";
import {  Tabbar, TabbarItem } from '@nutui/nutui-react';

22 23 24 25 26 27 28 29 30 31 32 33 34
const App = () =>(
  <Tabbar
    tabSwitch={(child, idx) => {
      console.log(idx)
    }}
  >
    <TabbarItem tabTitle="首页" icon="home" />
    <TabbarItem tabTitle="分类" icon="category" />
    <TabbarItem tabTitle="发现" icon="find" />
    <TabbarItem tabTitle="购物车" icon="cart" />
    <TabbarItem tabTitle="我的" icon="my" />
  </Tabbar>
);
O
oasis-cloud 已提交
35

36
export default App;
O
oasis-cloud 已提交
37 38 39 40 41 42 43 44 45
```
:::
### 自定义选中

:::demo
```tsx
import  React from "react";
import {  Tabbar, TabbarItem } from '@nutui/nutui-react';

46 47 48 49 50 51 52 53 54
const App = () => (
  <Tabbar visible={2}>
    <TabbarItem tabTitle="首页" icon="home" />
    <TabbarItem tabTitle="分类" icon="category" />
    <TabbarItem tabTitle="发现" icon="find" />
    <TabbarItem tabTitle="购物车" icon="cart" />
    <TabbarItem tabTitle="我的" icon="my" />
  </Tabbar>
);
O
oasis-cloud 已提交
55

56
export default App;
O
oasis-cloud 已提交
57 58 59 60 61 62 63 64 65
```
:::
### 徽标提示

:::demo
```tsx
import  React from "react";
import {  Tabbar, TabbarItem } from '@nutui/nutui-react';

66 67 68 69 70 71 72 73 74
const App = () => (
  <Tabbar>
    <TabbarItem tabTitle="首页" icon="home" num="11" />
    <TabbarItem tabTitle="分类" icon="category" />
    <TabbarItem tabTitle="发现" icon="find" />
    <TabbarItem tabTitle="购物车" icon="cart" num="110" />
    <TabbarItem tabTitle="我的" icon="my" />
  </Tabbar>
);
O
oasis-cloud 已提交
75

76
export default App;
O
oasis-cloud 已提交
77 78 79 80 81 82 83 84 85
```
:::
### 自定义颜色

:::demo
```tsx
import  React from "react";
import {  Tabbar, TabbarItem } from '@nutui/nutui-react';

86 87 88 89 90 91 92 93 94
const App = () => (
  <Tabbar unactiveColor="#7d7e80" activeColor="#1989fa">
    <TabbarItem tabTitle="首页" icon="home" />
    <TabbarItem tabTitle="分类" icon="category" />
    <TabbarItem tabTitle="发现" icon="find" />
    <TabbarItem tabTitle="购物车" icon="cart" />
    <TabbarItem tabTitle="我的" icon="my" />
  </Tabbar>
);
O
oasis-cloud 已提交
95

96
export default App;
O
oasis-cloud 已提交
97 98 99 100 101 102 103 104 105
```
:::
### 三个icon的tabbar

:::demo
```tsx
import  React from "react";
import {  Tabbar, TabbarItem } from '@nutui/nutui-react';

106 107 108 109 110 111 112
const App = () => (
  <Tabbar unactiveColor="#7d7e80" activeColor="#1989fa">
    <TabbarItem tabTitle="首页" icon="home" />
    <TabbarItem tabTitle="分类" icon="category" />
    <TabbarItem tabTitle="发现" icon="find" />
  </Tabbar>
);
O
oasis-cloud 已提交
113

114
export default App;
O
oasis-cloud 已提交
115 116 117 118 119 120 121 122 123
```
:::
### 固定底部,可自由跳转

:::demo
```tsx
import  React from "react";
import {  Tabbar, TabbarItem } from '@nutui/nutui-react';

124 125 126 127 128 129 130 131 132
const App = () => (
  <Tabbar bottom>
    <TabbarItem tabTitle="首页" href="" icon="home" />
    <TabbarItem tabTitle="分类" icon="category" />
    <TabbarItem tabTitle="发现" icon="find" />
    <TabbarItem tabTitle="购物车" href="https://m.jd.com" icon="cart" />
    <TabbarItem tabTitle="我的" to="/" icon="my" />
  </Tabbar>
);
O
oasis-cloud 已提交
133

134
export default App;
O
oasis-cloud 已提交
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
```
:::        

## API

### Prop

### nut-tabbar

| 字段            | 说明               | 类型   | 默认值  |
|-----------------|--------------------|--------|---------|
| visible | 选中标签的索引值   | number | 0       |
| bottom          | 是否固定在页面底部 | Booble | false   |
| unactiveColor  | icon未激活的颜色   | string | #7d7e80 |
| activeColor    | icon激活的颜色     | string | #1989fa |

### tabbar-item

| 字段      | 说明                                      | 类型   | 默认值 |
|-----------|-------------------------------------------|--------|--------|
| tabTitle | 标签页的标题                              | String | --     |
| icon      | 标签页显示的[图标名称](#/icon) 或图片链接 | String | --     |
157 158
| href      | 标签页的跳转链接;如果同时存在 `to`,优先级高于 to   | String | --     |
| to       | 	标签页的路由对象,等于 React Router 的 [to 属性](https://v5.reactrouter.com/web/api/Link/to-string) 属性 | string|object | --     |
O
oasis-cloud 已提交
159 160 161 162 163 164 165 166
| num       | 页签右上角的数字角标,超出99之后为99+     | Number | --     |


### Event

| 事件名称   | 说明               | 回调参数           |
|------------|--------------------|--------------------|
| tabSwitch | 切换页签时触发事件 | 点击的数据和索引值 |