TabBar 标签栏
标签栏用于在不同功能模块之间进行切换,预设 9 种颜色 light
, stable
, positive
, calm
, assertive
, balanced
, energized
, royal
, dark
可选用。
使用指南
在 page.json 中引入组件
{
"navigationBarTitleText": "TabBar",
"usingComponents": {
"wux-icon": "../../dist/icon/index",
"wux-badge": "../../dist/badge/index",
"wux-tabbar": "../../dist/tabbar/index",
"wux-tabbar-item": "../../dist/tabbar-item/index"
}
}
示例
<view class="page">
<view class="page__hd">
<view class="page__title">TabBar</view>
<view class="page__desc">标签栏</view>
</view>
<view class="page__bd">
<view class="sub-title">Default</view>
<wux-tabbar defaultCurrent="tab2">
<wux-tabbar-item key="tab1" title="Tab 1">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
<wux-tabbar-item key="tab2" title="Tab 2">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
<wux-tabbar-item key="tab3" title="Tab 3">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
</wux-tabbar>
<view class="sub-title">Theme = positive</view>
<wux-tabbar defaultCurrent="1" theme="positive">
<wux-tabbar-item title="Tab 1">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
<wux-tabbar-item title="Tab 2">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
<wux-tabbar-item title="Tab 3">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
</wux-tabbar>
<view class="sub-title">Disabled</view>
<wux-tabbar defaultCurrent="1">
<wux-tabbar-item title="Tab 1">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
<wux-tabbar-item title="Tab 2" disabled>
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
<wux-tabbar-item title="Tab 3">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
</wux-tabbar>
<view class="sub-title">Controlled</view>
<wux-tabbar controlled current="{{ current }}" bindchange="onChange">
<wux-tabbar-item title="Tab 1">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
<wux-tabbar-item title="Tab 2">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
<wux-tabbar-item title="Tab 3">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
</wux-tabbar>
<view class="sub-title">With Badge</view>
<wux-tabbar defaultCurrent="1" position="bottom" safeArea>
<wux-tabbar-item title="Tab 1">
<wux-badge count="1" slot="icon-on">
<wux-icon wux-class="icon" type="ios-home" size="22" />
</wux-badge>
<wux-badge count="1" slot="icon-off">
<wux-icon wux-class="icon" type="ios-home" size="22" />
</wux-badge>
</wux-tabbar-item>
<wux-tabbar-item title="Tab 2">
<wux-badge dot slot="icon-on">
<wux-icon wux-class="icon" type="ios-home" size="22" />
</wux-badge>
<wux-badge dot slot="icon-off">
<wux-icon wux-class="icon" type="ios-home" size="22" />
</wux-badge>
</wux-tabbar-item>
<wux-tabbar-item title="Tab 3">
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-on" />
<wux-icon wux-class="icon" type="ios-home" size="22" slot="icon-off" />
</wux-tabbar-item>
</wux-tabbar>
</view>
</view>
Page({
data: {
current: '1',
},
onChange(e) {
console.log('onChange', e)
this.setData({
current: e.detail.key,
})
},
})
视频演示
TabBar
API
TabBar props
参数 |
类型 |
描述 |
默认值 |
prefixCls |
string |
自定义类名前缀 |
wux-tabbar |
defaultCurrent |
string |
默认激活 tab 面板的 key,当 controlled 为 false 时才生效 |
- |
current |
string |
用于手动激活 tab 面板的 key,当 controlled 为 true 时才生效 |
- |
controlled |
boolean |
是否受控 说明文档 |
false |
theme |
string |
主题色,可选值为 light、stable、positive、calm、assertive、balanced、energized、royal、dark |
balanced |
position |
string |
标签栏位置,可选值为 bottom、top |
- |
safeArea |
boolean |
是否适配 iPhoneX,当 position 为 bottom/top 时才生效 |
false |
bind:change |
function |
切换面板的回调函数 |
- |
TabBar externalClasses
TabBarItem props
参数 |
类型 |
描述 |
默认值 |
prefixCls |
string |
自定义类名前缀 |
wux-tabbar-item |
key |
string |
对应 key |
- |
title |
string |
选项卡标题 |
- |
disabled |
boolean |
是否禁用 |
false |
bind:click |
function |
点击事件 |
- |
TabBarItem slot
名称 |
描述 |
- |
自定义标题 |
icon-on |
自定义默认展示图标 |
icon-off |
自定义选中后的展示图标 |
TabBarItem externalClasses