|
|
@@ -19,239 +19,86 @@ app.use(Tabbar);
|
|
|
### 基础用法
|
|
|
|
|
|
``` html
|
|
|
-<nut-tabbar :tabbar-List="tabList" @tab-switch="tabSwitch"></nut-tabbar>
|
|
|
+<nut-tabbar @tab-switch="tabSwitch">
|
|
|
+ <nut-tabbar-item tab-title="首页" icon="home"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="分类" icon="category"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="发现" icon="find"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="购物车" icon="cart"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="我的" icon="my"></nut-tabbar-item>
|
|
|
+</nut-tabbar>
|
|
|
```
|
|
|
|
|
|
``` javascript
|
|
|
-// ...
|
|
|
setup() {
|
|
|
- const tabList = [
|
|
|
- {
|
|
|
- tabTitle: '首页',
|
|
|
- curr: false,
|
|
|
- icon: 'home',
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '分类',
|
|
|
- curr: false,
|
|
|
- icon: 'category',
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '发现',
|
|
|
- curr: false,
|
|
|
- icon: 'find',
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '购物车',
|
|
|
- curr: false,
|
|
|
- icon: 'cart',
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '我的',
|
|
|
- curr: false,
|
|
|
- icon: 'my',
|
|
|
- },
|
|
|
- ];
|
|
|
function tabSwitch(item: object, index: number) {
|
|
|
console.log(item, index);
|
|
|
}
|
|
|
return {
|
|
|
- ...reactive({
|
|
|
- tabList,
|
|
|
- }),
|
|
|
tabSwitch,
|
|
|
};
|
|
|
},
|
|
|
-// ...
|
|
|
```
|
|
|
|
|
|
-### 徽标提示
|
|
|
+### 自定义选中
|
|
|
|
|
|
``` html
|
|
|
-<nut-tabbar :tabbar-List="tabList" @tab-switch="tabSwitch"></nut-tabbar>
|
|
|
+<nut-tabbar v-model:show= active >
|
|
|
+ <nut-tabbar-item tab-title="首页" icon="home" num="11"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="分类" icon="category"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="发现" icon="find"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="购物车" icon="cart" num="110"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="我的" icon="my"></nut-tabbar-item>
|
|
|
+</nut-tabbar>
|
|
|
```
|
|
|
-
|
|
|
``` javascript
|
|
|
-// ...
|
|
|
setup() {
|
|
|
- const tabList = [
|
|
|
- {
|
|
|
- tabTitle: '首页',
|
|
|
- curr: false,
|
|
|
- icon: 'home',
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '分类',
|
|
|
- curr: false,
|
|
|
- icon: 'category',
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '发现',
|
|
|
- curr: false,
|
|
|
- icon: 'find',
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '购物车',
|
|
|
- curr: false,
|
|
|
- icon: 'cart',
|
|
|
- num: '12'
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '我的',
|
|
|
- curr: false,
|
|
|
- icon: 'my',
|
|
|
- },
|
|
|
- ];
|
|
|
- function tabSwitch(item: object, index: number) {
|
|
|
- console.log(item, index);
|
|
|
- }
|
|
|
+ const active = ref(2)
|
|
|
return {
|
|
|
- ...reactive({
|
|
|
- tabList,
|
|
|
- }),
|
|
|
- tabSwitch,
|
|
|
+ active
|
|
|
};
|
|
|
},
|
|
|
-// ...
|
|
|
```
|
|
|
-
|
|
|
-### 自定义颜色
|
|
|
+### 徽标提示
|
|
|
|
|
|
``` html
|
|
|
-<nut-tabbar :tabbar-List="tabList" @tab-switch="tabSwitch" unactiveColor="#7d7e80" activeColor="#1989fa" ></nut-tabbar>
|
|
|
+<nut-tabbar>
|
|
|
+ <nut-tabbar-item tab-title="首页" icon="home" num="11"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="分类" icon="category"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="发现" icon="find"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="购物车" icon="cart" num="110"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="我的" icon="my"></nut-tabbar-item>
|
|
|
+</nut-tabbar>
|
|
|
```
|
|
|
+### 自定义颜色
|
|
|
|
|
|
-``` javascript
|
|
|
-// ...
|
|
|
- setup() {
|
|
|
- const tabList = [
|
|
|
- {
|
|
|
- tabTitle: '首页',
|
|
|
- curr: false,
|
|
|
- icon: 'home',
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '分类',
|
|
|
- curr: false,
|
|
|
- icon: 'category',
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '发现',
|
|
|
- curr: false,
|
|
|
- icon: 'find',
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '购物车',
|
|
|
- curr: false,
|
|
|
- icon: 'cart',
|
|
|
- num: '12'
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '我的',
|
|
|
- curr: false,
|
|
|
- icon: 'my',
|
|
|
- },
|
|
|
- ];
|
|
|
- function tabSwitch(item: object, index: number) {
|
|
|
- console.log(item, index);
|
|
|
- }
|
|
|
- return {
|
|
|
- ...reactive({
|
|
|
- tabList,
|
|
|
- }),
|
|
|
- tabSwitch,
|
|
|
- };
|
|
|
- },
|
|
|
-// ...
|
|
|
+``` html
|
|
|
+<nut-tabbar unactiveColor="#7d7e80" activeColor="#1989fa">
|
|
|
+ <nut-tabbar-item tab-title="首页" icon="home"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="分类" icon="category"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="发现" icon="find"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="购物车" icon="cart"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="我的" icon="my"></nut-tabbar-item>
|
|
|
+</nut-tabbar>
|
|
|
```
|
|
|
-
|
|
|
### 三个图标的标签栏
|
|
|
|
|
|
``` html
|
|
|
-<nut-tabbar :tabbar-List="tabList" @tab-switch="tabSwitch"></nut-tabbar>
|
|
|
-```
|
|
|
-
|
|
|
-``` javascript
|
|
|
-// ...
|
|
|
- setup() {
|
|
|
- const tabList = [
|
|
|
- {
|
|
|
- tabTitle: '首页',
|
|
|
- curr: false,
|
|
|
- icon: 'home'
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '分类',
|
|
|
- curr: false,
|
|
|
- icon: 'category'
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '我的',
|
|
|
- curr: false,
|
|
|
- icon: 'my'
|
|
|
- }
|
|
|
- ];
|
|
|
- function tabSwitch(item: object, index: number) {
|
|
|
- console.log(item, index);
|
|
|
- }
|
|
|
- return {
|
|
|
- ...reactive({
|
|
|
- tabList,
|
|
|
- }),
|
|
|
- tabSwitch,
|
|
|
- };
|
|
|
- },
|
|
|
-// ...
|
|
|
+<nut-tabbar unactiveColor="#7d7e80" activeColor="#1989fa">
|
|
|
+ <nut-tabbar-item tab-title="首页" icon="home"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="分类" icon="category"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="发现" icon="find"></nut-tabbar-item>
|
|
|
+</nut-tabbar>
|
|
|
```
|
|
|
-
|
|
|
### 固定底部,可自由跳转
|
|
|
|
|
|
``` html
|
|
|
-<nut-tabbar :tabbar-List="tabList" @tab-switch="tabSwitch" :bottom="true" ></nut-tabbar>
|
|
|
-```
|
|
|
-
|
|
|
-``` javascript
|
|
|
-// ...
|
|
|
- setup() {
|
|
|
- const tabList = [
|
|
|
- {
|
|
|
- tabTitle: '首页',
|
|
|
- curr: false,
|
|
|
- icon: 'home'
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '分类',
|
|
|
- curr: false,
|
|
|
- icon: 'category'
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '发现',
|
|
|
- curr: false,
|
|
|
- icon: 'find'
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '购物车',
|
|
|
- curr: false,
|
|
|
- icon: 'cart',
|
|
|
- num: '122'
|
|
|
- },
|
|
|
- {
|
|
|
- tabTitle: '我的',
|
|
|
- curr: false,
|
|
|
- icon: 'my'
|
|
|
- }
|
|
|
- ];
|
|
|
- function tabSwitch(item: object, index: number) {
|
|
|
- console.log(item, index);
|
|
|
- }
|
|
|
- return {
|
|
|
- ...reactive({
|
|
|
- tabList,
|
|
|
- }),
|
|
|
- tabSwitch,
|
|
|
- };
|
|
|
- },
|
|
|
-// ...
|
|
|
+<nut-tabbar unactiveColor="#7d7e80" activeColor="#1989fa">
|
|
|
+ <nut-tabbar-item tab-title="首页" icon="home"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="分类" icon="category"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="发现" icon="find"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="购物车" href="https://m.jd.com" icon="cart"></nut-tabbar-item>
|
|
|
+ <nut-tabbar-item tab-title="我的" icon="my"></nut-tabbar-item>
|
|
|
+</nut-tabbar>
|
|
|
```
|
|
|
### Prop
|
|
|
|
|
|
@@ -259,18 +106,16 @@ app.use(Tabbar);
|
|
|
|
|
|
| 字段 | 说明 | 类型 | 默认值
|
|
|
|----- | ----- | ----- | -----
|
|
|
-| type | 页签栏的样式 based/card:based是默认样式如吸底样式,card类型每个卡片间有边界线 | String | based
|
|
|
-| tabbar-list | 渲染数据 ,兼容 tabbar-list 和 tabbarList| Array | []
|
|
|
| bottom | 是否固定在页面底部 |Booble|false|
|
|
|
-| unactiveColor | icon未激活的颜色 |string|#7d7e80|
|
|
|
-| activeColor | icon激活的颜色 |string|#1989fa|
|
|
|
+| show | 选中标签的索引值 |number|0|
|
|
|
+| unactive-color | icon未激活的颜色 |string|#7d7e80|
|
|
|
+| active-color | icon激活的颜色 |string|#1989fa|
|
|
|
|
|
|
-### tabbar-list
|
|
|
+### tabbar-item
|
|
|
|
|
|
| 字段 | 说明 | 类型 | 默认值
|
|
|
|----- | ----- | ----- | -----
|
|
|
-| tabTitle | 标签页的标题 | String | --
|
|
|
-| curr | 是否为选中的标签页 | Booble | false
|
|
|
+| tab-title | 标签页的标题 | String | --
|
|
|
| icon | 标签页显示的icon | String | --
|
|
|
| href | 标签页的跳转链接 | String | --
|
|
|
| num |页签右上角的数字角标,超出99之后为99+|Number|--
|
|
|
@@ -280,7 +125,7 @@ app.use(Tabbar);
|
|
|
|
|
|
| 事件名称 | 说明 | 回调参数
|
|
|
|----- | ----- | -----
|
|
|
-| tabSwitch | 切换页签时触发事件 | 点击的索引值和对应的数据
|
|
|
+| tabSwitch | 切换页签时触发事件 | 点击的数据和索引值
|
|
|
|
|
|
|
|
|
|