# 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 根节点样式类