# mx-tabbar-item 卡片图标

主要用于卡片状态展示状态的切换。

# 引入

在app.json或index.json中引入组件,详细介绍见快速上手

"usingComponents": {
  "mx-tabbar-item": "/miniprogram_npm/m-ui/mx-tabbar-item/index"
}

# 小程序码

可使用微信扫码查看小程序码

#

# 代码演示

# 基本用法

可以搭配layout组件 mx-col 和 mx-row 来进行排列布局。checked选中状态,inactive-color未选中标签的颜色,icon非选中时的图片。active-color选中标签的颜色,active-icon选中时的图标展示。最外层view也可以用mx-mx-cell-group组件,可以少些两行样式。

 <view class="card-item">
      <mx-row>
        <mx-col span="6"
          ><view>
            <mx-tabbar-item checked="{{ checked }}" icon="{{icon2}}" activeIcon="{{icon1}}" bind:change="onChange"
              >开关</mx-tabbar-item
            ></view
          ></mx-col
        >
        <mx-col span="6"
          ><view>
            <mx-tabbar-item checked="{{ checked1 }}" icon="{{icon4}}" activeIcon="{{icon3}}" bind:change="onChange1"
              >开关</mx-tabbar-item
            ></view
          ></mx-col
        >
        <mx-col span="6"
          ><view>
            <mx-tabbar-item checked="{{ checked2 }}" icon="{{icon6}}" activeIcon="{{icon5}}" bind:change="onChange2"
              >开关</mx-tabbar-item
            ></view
          ></mx-col
        >
        <mx-col span="6"
          ><view>
            <mx-tabbar-item checked="{{ checked3 }}" icon="{{icon8}}" activeIcon="{{icon7}}" bind:change="onChange3"
              >开关</mx-tabbar-item
            ></view
          ></mx-col
        >
      </mx-row>
    </view>
.card-item {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 20px 0 20px 0;
  box-shadow: 0 -1px 5px 0 rgba(0, 0, 0, 0.05)
}

.row-layout {
  margin-bottom: 20px;
}
Page({
  data: {
    icon1: '/assets/image/example/icon/icon1.png',
    icon2: '/assets/image/example/icon/icon2.png',
    icon3: '/assets/image/example/icon/icon3.png',
    icon4: '/assets/image/example/icon/icon4.png',
    icon5: '/assets/image/example/icon/icon5.png',
    icon6: '/assets/image/example/icon/icon6.png',
    icon7: '/assets/image/example/icon/icon7.png',
    checked: true,
    checked1: true,
    checked2: false,
    checked3: false,
  },
 onChange({ detail }) {
    console.log(detail)
    // 需要手动对 checked 状态进行更新
    this.setData({
      checked: detail,
    })
  },

  onChange1({ detail }) {
    console.log(detail)
    // 需要手动对 checked 状态进行更新
    this.setData({
      checked1: detail,
    })
  },

  onChange2({ detail }) {
    console.log(detail)
    // 需要手动对 checked 状态进行更新
    this.setData({
      checked2: detail,
    })
  },

  onChange3({ detail }) {
    console.log(detail)
    // 需要手动对 checked 状态进行更新
    this.setData({
      checked3: detail,
    })
  },

});

# 切换图标背景色

inactive-color非选中背景色,active-color选中时的背景色,通过inactive-color和active-color切换按钮的背景色。

<view class="card-item">
      <mx-row>
        <mx-col span="6"
          ><view>
            <mx-tabbar-item
              checked="{{ checked12 }}"
              icon="{{icon2}}"
              active-color="#FF6A4C"
              activeIcon="{{icon1}}"
              bind:change="onChange12"
              >开关</mx-tabbar-item
            ></view
          ></mx-col
        >
        <mx-col span="6"
          ><view>
            <mx-tabbar-item
              checked="{{ checked13 }}"
              icon="{{icon4}}"
              active-color="#E61E1E"
              activeIcon="{{icon3}}"
              bind:change="onChange13"
              >开关</mx-tabbar-item
            ></view
          ></mx-col
        >
        <mx-col span="6"
          ><view>
            <mx-tabbar-item
              checked="{{ checked14 }}"
              icon="{{icon6}}"
              active-color="#86696B"
              activeIcon="{{icon5}}"
              bind:change="onChange14"
              >开关</mx-tabbar-item
            ></view
          ></mx-col
        >
        <mx-col span="6"
          ><view>
            <mx-tabbar-item
              checked="{{ checked15 }}"
              icon="{{icon8}}"
              active-color="#29C3FF"
              activeIcon="{{icon7}}"
              bind:change="onChange15"
              >开关</mx-tabbar-item
            ></view
          ></mx-col
        >
      </mx-row>
    </view>

# API

# Props

参数 说明 类型 默认值
active-color 选中标签的颜色 string #267AFF
inactive-color 未选中标签的颜色 string #F2F2F2
active-icon 选中标签的图片 string -
icon 未选中标签的图片 string -
loading 是否加载状态 boolean false
disabled 是否禁用 boolean false
icon-prefix 图标类名前缀 string mx-icon
dot 是否显示小红点 boolean false
info 图标右上角提示信息 string、number -
active-spc 是否预约 boolean false
active-spc 是否预约 boolean false
active-spc-color 预约关机时的颜色 string -
active-spc-icon 预约关机时的图标 string -

# Event

事件名 说明 参数
bind:change 切换标签时触发 event.detail: 当前选中标签的名称或索引值

# 外部样式类

名称 说明
custom-class 根节点样式类