# 介绍
小卡片可以在水平方向上把页面分隔成等宽度的区块,用于展示内容或进行页面导航。
# 引入
在app.json或index.json中引入组件,详细介绍见快速上手
"usingComponents": {
"mx-tabcard": "/miniprogram_npm/m-ui/mx-tabcard/index",
"mx-small-card": "/miniprogram_npm/m-ui/mx-small-card/index",
}
# 小程序码
可使用微信扫码查看小程序码
#
# 代码演示
# 基本用法
<mx-tabcard>
<view wx:for="{{arr}}" wx:key="*this" class="item">
<mx-small-card
icon="{{arr.icon}}"
label="{{arr.label}}"
bindonCardClicked="cardClicked">
</mx-small-card>
</view>
</mx-tabcard>
Page({
data: {
arr: [
{
icon: '/assets/image/example/small-card/smallcard_ic_zhenqi@2x.png',
label: '蒸汽',
},
{
icon: '/assets/image/example/small-card/smallcard_ic_zhenqi@2x.png',
label: '烧烤',
},
],
},
cardClicked(e) {
let {
label
} = e.detail
wx.showToast({
icon: 'none',
title: `您点击了${label}卡片`,
})
},
});
# 存在内容描述
describe 补充展示内容
<mx-tabcard>
<view wx:for="{{arr}}" wx:key="*this" class="item">
<mx-small-card
icon="{{arr.icon}}"
label="{{arr.label}}"
describe="{{arr.describe}}"
bind:onCardClicked="cardClicked">
</mx-small-card>
</view>
</mx-tabcard>
Page({
data: {
arr: [
{
icon: '/assets/image/example/small-card/smallcard_ic_zhenqi@2x.png',
label: '蒸汽',
describe: '102分钟'
},
{
icon: '/assets/image/example/small-card/smallcard_ic_zhenqi@2x.png',
label: '烧烤',
describe: '70分钟'
},
],
},
});
# 三个小卡片的布局
这里需要加一个 type="mini" 的参数
<mx-tabcard>
<view wx:for="{{arr}}" wx:key="*this" class="item">
<mx-small-card
type="mini"
icon="{{arr.icon}}"
label="{{arr.label}}"
describe="{{arr.describe}}"
bind:onCardClicked="cardClicked">
</mx-small-card>
# 卡片被选中的UI展示(一行2个卡片布局)
这里需要同 mx-tabcard 组件配合使用,mx-small-card 需要 use-check 参数
<mx-tabcard use-check checked="{{ checked1 }}" data-key="checked1" bind:change="onChange">
<view wx:for="{{list}}" wx:key="*this" class="item">
<mx-small-card
icon="{{item.icon}}"
label="{{item.label}}"
describe="{{item.describe}}"
bind:click-button="parameterSetting"
></mx-small-card>
</view>
</mx-tabcard>
Page({
data: {
checked1: 0,
arr: [
{
icon: '/assets/image/example/small-card/smallcard_ic_zhenqi@2x.png',
label: '蒸汽',
describe: '102分钟'
},
{
icon: '/assets/image/example/small-card/smallcard_ic_zhenqi@2x.png',
label: '烧烤',
describe: '70分钟'
},
],
},
parameterSetting(e) {
console.log(e.detail)
},
onChange(event) {
console.log(event.detail)
const {
key
} = event.currentTarget.dataset;
this.setData({
[key]: event.detail
});
},
});
# 被选中的卡片图标、设置参数按钮自定义颜色(一行2个卡片布局)
这里需要同 mx-tabcard 组件配合使用;mx-small-card 需要 use-check 参数
<mx-tabcard use-check checked="{{ checked1 }}" data-key="checked1" bind:change="onChange">
<view wx:for="{{list}}" wx:key="*this" class="item">
<mx-small-card
icon="{{item.icon}}"
label="{{item.label}}"
describe="{{item.describe}}"
bind:click-button="parameterSetting"
></mx-small-card>
</view>
</mx-tabcard>
<mx-tabcard
checked-color="#FFAA10"
checked-button-color="#ffaa102b"
checked="{{ checked2 }}"
data-key="checked2"
use-check
bind:change="onChange"
>
<view wx:for="{{list}}" wx:key="*this" class="item">
<mx-small-card
icon="{{item.icon}}"
label="{{item.label}}"
describe="{{item.describe}}"
bind:click-button="parameterSetting"
></mx-small-card>
</view>
</mx-tabcard>
# 被选中的卡片图标、设置参数按钮自定义颜色(一行3个卡片布局)
这里需要同 mx-tabcard 组件配合使用;mx-small-card 需要 use-check 参数
<mx-tabcard
checked-color="#86696B"
checked-button-color="#86696b2e"
checked="{{ checked1 }}"
data-key="checked1"
bind:change="onChange">
<view wx:for="{{list}}" type="mini" use-check wx:key="*this" class="item">
<mx-small-card
icon="{{item.icon}}"
label="{{item.label}}"
describe="{{item.describe}}"
bind:click-button="parameterSetting"
></mx-small-card>
</view>
</mx-tabcard>
# API
# small-card Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
type | 卡片大小类型,可选值 normal、mini | string | normal |
icon | 卡片中图片链接 | string | - |
label | 卡片中文本 | string | - |
describe | 卡片中对文本的补充描述 | string | - |
# small-card Event
事件名 | 说明 | 回调参数 |
---|---|---|
bind:click-button | 设置参数按钮点击事件 | e.detail: 当前卡片的数据对象 |
bind:onCardClicked | 卡片点击事件 | e: 当前卡片的数据对象 |
# tabcard Props
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
checked | 被选中的当前卡片(下标或其他唯一标志) | Number | - |
checkedColor | UI:小卡片被选中的左上角(右上脚)图标颜色 | string | #267AFF |
checkedButtonColor | UI:小卡片被选中的左上角(右上脚)设置按钮颜色 | string | #E9F1FF |
zIndex | 层级 | Number | 1 |
useCheck | 卡片是否需要选中展示的样式 | Boolean | false |
type | 卡片类型,可选值 normal,mini | String | normal |
show-setting | 当卡片为选中类型时,是否需要展示设置按钮 | Boolean | true |
# tabcard Event
事件名 | 说明 | 回调参数 |
---|---|---|
bind:change | 卡片点击事件 | e.detail: 当前卡片的数据 |