# mx-tabbar-button 卡片按钮
卡片按钮,用于在不同选项之间进行切换。
# 引入
在app.json或index.json中引入组件,详细介绍见快速上手
"usingComponents": {
"mx-tabbar": "/miniprogram_npm/m-ui/mx-tabbar/index",
"mx-tabbar-button": "/miniprogram_npm/m-ui/mx-tabbar-button/index",
}
# 小程序码
可使用微信扫码查看小程序码
#
# 代码演示
# 基本用法
<mx-tabbar
active="{{ active }}"
data-key="active"
custom-class="tabbar-position"
safe-area-inset-bottom="{{ false }}"
bind:change="onChange"
>
<mx-tabbar-button value="低"></mx-tabbar-button>
<mx-tabbar-button value="中"></mx-tabbar-button>
<mx-tabbar-button value="高"></mx-tabbar-button>
</mx-tabbar>
Page({
data: {
active: 0,
},
onChange(event) {
// event.detail 的值为当前选中项的索引
this.setData({ active: event.detail });
},
});
# 通过名称匹配
在标签指定name属性的情况下,v-model的值为当前标签的name。
<mx-tabbar
active="{{ active }}"
data-key="active"
custom-class="tabbar-position"
safe-area-inset-bottom="{{ false }}"
bind:change="onChange"
>
<mx-tabbar-button name="home" value="低"></mx-tabbar-button>
<mx-tabbar-button name="search" value="中"></mx-tabbar-button>
<mx-tabbar-button name="friends" value="高"></mx-tabbar-button>
</mx-tabbar>
Page({
data: {
active: 'home',
},
onChange(event) {
this.setData({ active: event.detail });
},
});
# 自定义颜色
<mx-tabbar
active="{{ active2 }}"
data-key="active2"
custom-class="tabbar-position"
active-color="#07c160"
inactive-color="#000"
inactive-text-color="#fff"
safe-area-inset-bottom="{{ false }}"
bind:change="onChange"
>
<mx-tabbar-button value="标签1"></mx-tabbar-button>
<mx-tabbar-button value="标签111133"></mx-tabbar-button>
<mx-tabbar-button value="标签3"></mx-tabbar-button>
<mx-tabbar-button value="标签4"></mx-tabbar-button>
</mx-tabbar>
</demo-block>
Page({
data: {
active: 0,
},
onChange(event) {
this.setData({ active: event.detail });
},
});
# 切换标签事件
<mx-tabbar
active="{{ active3 }}"
data-key="active3"
custom-class="tabbar-position"
safe-area-inset-bottom="{{ false }}"
bind:change="handleChange"
>
<mx-tabbar-button value="标签1"></mx-tabbar-button>
<mx-tabbar-button value="标签2"></mx-tabbar-button>
<mx-tabbar-button value="标签3"></mx-tabbar-button>
<mx-tabbar-button value="标签4"></mx-tabbar-button>
</mx-tabbar>
Page({
data: {
active: 0,
},
onClick(event) {
wx.showToast({
title: `点击标签 ${event.detail + 1}`,
icon: 'none',
});
},
});
# API
# Tabbar Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
active | 当前选中标签的索引 | number | - |
fixed | 是否固定在底部 | boolean | true |
placeholder | 固定在底部时,是否在标签位置生成一个等高的占位元素 | boolean | false |
border | 是否展示外边框 | boolean | true |
z-index | 元素 z-index | number | 1 |
safe-area-inset-bottom | 是否为 iPhoneX 留出底部安全距离 | boolean | true |
active-color | 选中标签的颜色 | string | #267AFF |
inactive-color | 未选中标签的颜色 | string | #F2F2F2 |
# TabbarButton Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
name | 选中标签的图片 | string | - |
icon | 按钮图标 | string | - |
icon-prefix | 图标类名前缀 | string | mx-icon |
dot | 是否显示小红点 | boolean | false |
info | 图标右上角提示信息 | string、number | - |
# Tabbar Event
事件名 | 说明 | 参数 |
---|---|---|
bind:change | 切换标签时触发 | event.detail: 当前选中标签的名称或索引值 |
# TabbarButton 外部样式类
名称 | 说明 |
---|---|
custom-class | 根节点样式类 |