import{c as t,o as n,A as a}from"./vendor.91b30fe3.js";const e={class:"markdown-body"},r=a('
Tabbar 列表组件
介绍
XXXXXX
安装
import { createApp } from 'vue';\nimport { Tabbar } from '@nutui/nutui';\n\nconst app = createApp();\napp.use(Tabbar);\n\n
代码示例
基础用法
<nut-tabbar :tabbar-List="tabList" @tab-switch="tabSwitch"></nut-tabbar>\n
// ...\n setup() {\n const tabList = [\n {\n tabTitle: '首页',\n curr: false,\n icon: 'home',\n },\n {\n tabTitle: '分类',\n curr: false,\n icon: 'category',\n },\n {\n tabTitle: '发现',\n curr: false,\n icon: 'find',\n },\n {\n tabTitle: '购物车',\n curr: false,\n icon: 'cart',\n },\n {\n tabTitle: '我的',\n curr: false,\n icon: 'my',\n },\n ];\n function tabSwitch(item: object, index: number) {\n console.log(item, index);\n }\n return {\n ...reactive({\n tabList,\n }),\n tabSwitch,\n };\n },\n// ...\n
徽标提示
<nut-tabbar :tabbar-List="tabList" @tab-switch="tabSwitch"></nut-tabbar>\n
// ...\n setup() {\n const tabList = [\n {\n tabTitle: '首页',\n curr: false,\n icon: 'home',\n },\n {\n tabTitle: '分类',\n curr: false,\n icon: 'category',\n },\n {\n tabTitle: '发现',\n curr: false,\n icon: 'find',\n },\n {\n tabTitle: '购物车',\n curr: false,\n icon: 'cart',\n num: '12'\n },\n {\n tabTitle: '我的',\n curr: false,\n icon: 'my',\n },\n ];\n function tabSwitch(item: object, index: number) {\n console.log(item, index);\n }\n return {\n ...reactive({\n tabList,\n }),\n tabSwitch,\n };\n },\n// ...\n
自定义颜色
<nut-tabbar :tabbar-List="tabList" @tab-switch="tabSwitch" unactiveColor="#7d7e80" activeColor="#1989fa" ></nut-tabbar>\n
// ...\n setup() {\n const tabList = [\n {\n tabTitle: '首页',\n curr: false,\n icon: 'home',\n },\n {\n tabTitle: '分类',\n curr: false,\n icon: 'category',\n },\n {\n tabTitle: '发现',\n curr: false,\n icon: 'find',\n },\n {\n tabTitle: '购物车',\n curr: false,\n icon: 'cart',\n num: '12'\n },\n {\n tabTitle: '我的',\n curr: false,\n icon: 'my',\n },\n ];\n function tabSwitch(item: object, index: number) {\n console.log(item, index);\n }\n return {\n ...reactive({\n tabList,\n }),\n tabSwitch,\n };\n },\n// ...\n
三个图标的标签栏
<nut-tabbar :tabbar-List="tabList" @tab-switch="tabSwitch"></nut-tabbar>\n
// ...\n setup() {\n const tabList = [\n {\n tabTitle: '首页',\n curr: false,\n icon: 'home'\n },\n {\n tabTitle: '分类',\n curr: false,\n icon: 'category'\n },\n {\n tabTitle: '我的',\n curr: false,\n icon: 'my'\n }\n ];\n function tabSwitch(item: object, index: number) {\n console.log(item, index);\n }\n return {\n ...reactive({\n tabList,\n }),\n tabSwitch,\n };\n },\n// ...\n
固定底部,可自由跳转
<nut-tabbar :tabbar-List="tabList" @tab-switch="tabSwitch" :bottom="true" ></nut-tabbar>\n
// ...\n setup() {\n const tabList = [\n {\n tabTitle: '首页',\n curr: false,\n icon: 'home'\n },\n {\n tabTitle: '分类',\n curr: false,\n icon: 'category'\n },\n {\n tabTitle: '发现',\n curr: false,\n icon: 'find'\n },\n {\n tabTitle: '购物车',\n curr: false,\n icon: 'cart',\n num: '122'\n },\n {\n tabTitle: '我的',\n curr: false,\n icon: 'my'\n }\n ];\n function tabSwitch(item: object, index: number) {\n console.log(item, index);\n }\n return {\n ...reactive({\n tabList,\n }),\n tabSwitch,\n };\n },\n// ...\n
Prop
nut-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 |
tabbar-list
| 字段 | 说明 | 类型 | 默认值 |
|---|
| tabTitle | 标签页的标题 | String | – |
| curr | 是否为选中的标签页 | Booble | false |
| icon | 标签页显示的icon | String | – |
| href | 标签页的跳转链接 | String | – |
| num | 页签右上角的数字角标,超出99之后为99+ | Number | – |
Event
| 事件名称 | 说明 | 回调参数 |
|---|
| tabSwitch | 切换页签时触发事件 | 点击的索引值和对应的数据 |
',28),c={expose:[],setup:a=>(a,c)=>(n(),t("div",e,[r]))};export default c;