Navigation

Tabs标签页

用于内容组之间进行导航切换。支持 Tabs 项左对齐、宽度均分,支持自定义文本色、背景色,支持带小红点、带数字显示,支持排序、升序、降序。

用于内容组之间进行导航切换。支持 Tabs 项左对齐、宽度均分,支持自定义文本色、背景色,支持带小红点、带数字显示,支持排序、升序、降序。

示例图

基础用法

页面 .json 文件 usingComponents 中引入组件

// json
{
    "usingComponents": {
        "mx-btn": "/components/mxwui/tabs/index"
    }
}

页面 .js 文件中定义

// js
data: {
    options: [
        {text: '选项一', value: 1},
        {text: '选项二', value: 2},
        {text: '选项三', value: 3},
        {text: '选项四', value: 4},
    ],
},

页面 .wxml 文件中使用组件

<mx-tabs options="{{options}}" bind:tabs_tap="handleClick" />

更多用法示例

数据项 options

属性:options,数据项配置。

参数:text,Tab项名称,用于界面显示。

参数:value,Tab项值,主要用于传给后端。

// js
data: {
    options: [
        {text: '选项名', value: '选项值'},
    ],
},
  • 带红点

参数:dot,设为 true。

// js
data: {
    options: [
        {text: '选项名', value: '选项值', dot: true},
    ],
},
  • 带数字

参数:num,数字或字符串都可,需要配合 isShowNum 字段使用。

// js
data: {
    options: [
        {text: '选项名', value: '选项值', num: 8},
    ],
},
  • 选项带图标

参数:iconName,图标名称,只支持图标库中图标。

参数:iconColor,图标颜色,默认颜色 light 主题时为 #040A23,dark 时为 #FFFFFF,支持任何合法的颜色值。

参数:iconSize,图标大小,默认 32,数字,不带单位,使用rpx。

// js
data: {
    options: [
        {text: '选项名', value: '选项值', iconName: '图标名称', iconColor: '#CA0E2d', iconSize: 30},
    ],
},
  • 选项图标自定义图片

参数:iconUrl,自定义图片地址。

参数:iconSize,图片大小,默认 32,数字,不带单位,使用rpx。

// js
data: {
    options: [
        {text: '选项名', value: '选项值', iconUrl: 'https://cdn.mingsixue.com/xcx/MXWUI/hot.png', iconSize: 28},
    ],
},
  • 排序

参数:sort,可选值:default 默认排序、asc 升序、desc 降序。

// js
data: {
    options: [
        {text: '默认排序', value: 1, sort: 'default'},
        {text: '升序', value: 2, sort: 'asc'},
        {text: '降序', value: 3, sort: 'desc'},
    ],
},
<mx-tabs options="{{options}}" />

指定选中项 current

属性:current,默认 0,从 0 开始的数字。

<mx-tabs current="1" />

宽度是否均分 average

属性:average,默认 false,默认不均分靠左展示。

  • 均分 居中
<mx-tabs average />

<mx-tabs average="{{true}}" />
  • 不均分 靠左
<mx-tabs average="{{false}}" />

<mx-tabs />

主题 theme

属性:theme,可选值:light、dark, 默认 light 浅色主题。

  • 深色主题 theme="dark"
<mx-tabs theme="dark" />
  • 浅色主题 theme="light"
<mx-tabs theme="light" />

自定义文本色 textColor

属性:textColor,默认 #656979,支持任何合法的颜色值。

<mx-tabs textColor="#999" />

自定义选中文本色 textCurrentColor

属性:textCurrentColor,默认 #040A23,支持任何合法的颜色值。

<mx-tabs textCurrentColor="#1677ff" />

文本字号 textSize

属性:textSize,默认 32,数字,不带单位,默认使用rpx。

<mx-tabs textSize="30" />

选中文本字号 textCurrentSize

属性:textCurrentSize,默认 32,数字,不带单位,默认使用rpx。

<mx-tabs textCurrentSize="34" />

自定义背景色 bgColor

属性:bgColor,根据主题区分,light 浅色主题时默认为 #F8F9FA,dark 深色主题时默认为 #CA0E2D。

<mx-tabs bgColor="#e4b856" />

是否显示数字 isShowNum

属性:isShowNum,默认为 false 不显示数字,需要和 options.num 配合使用。

  • 显示
<mx-tabs isShowNum />

<mx-tabs isShowNum="{{true}}" />
  • 不显示
<mx-tabs />

<mx-tabs isShowNum="{{false}}" />

下划线样式 lineMode

属性:lineMode,可选值为:short 短下划线、full 跟选项一样长下划线,默认为 short 短下划线。

<mx-tabs lineMode="short" />

<mx-tabs lineMode="full" />

参数

参数 类型 必填 可选值 默认值 参数描述
options Array 是 Tabs数据项
current Number 是 0 默认选中项,数组下标位置
average Boolean true、false false 宽度是否均分,默认不均分居左
theme String light、dark light 主题,浅色、深色
textColor String 颜色值 自定义文本色,支持任何合法的颜色值
textCurrentColor String 颜色值 自定义选中文本色,支持任何合法的颜色值
textSize Number 数字 32 自定义文本字号
textCurrentSize Number 数字 32 自定义选中文本字号
bgColor String 颜色值 自定义背景色,支持任何合法的颜色值
isShowNum Boolean true、false false 是否显示数字,需要和 options 里的 num 字段配合使用
lineMode String short、full short 下划线样式

options:

参数 类型 必填 可选值 默认值 参数描述
text String 是 Tab项名称
value String / Number 是 Tab项值
dot Boolean 是否显示红点
num Number 数量
iconName String 图标库中名称 图标名称,只支持图标库中图标
iconColor String 颜色值 light #040A23 或 dark #FFFFFF 图标颜色,支持任何合法的颜色值
iconUrl String 自定义图片地址,传入则 iconName 和 iconColor 无效
iconSize Number 数字 32 图标大小,不带单位,默认使用rpx
sort String default、asc、desc 默认排序、升序、降序

事件

事件名称 类型 返回值 事件说明
bind:tabs_tap Click event.detail 点击事件回调事件,返回 item 和 current 字段,item 字段值为传入的值原样返回, current 字段值为点击的下标序号,从 0 开始

其他说明

无