Navigation

Menu底部导航

页面底部导航,适用于在不同页面之间进行切换。

页面底部导航,适用于在不同页面之间进行切换。

示例图

基础用法

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

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

页面 .js 文件中定义

// js
data: {
    options: [
        {
            url: '/pages/index/index'
            text: '首页',
            iconName: 'home',
        },
    ]
}

页面 .wxml 文件中使用组件

<mx-menu options={{options}} />

更多用法示例

数据项 options

属性:options,导航配置数据。

参数:url 小程序页面路径,必填参数。

参数:text 导航项名称,必填参数。

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

参数:textSize 字号,默认 28,不带单位,数字,默认使用rpx。

<mx-menu options={{options}} />
  • 基础配置
// js
data: {
    options: [
        {
            url: '/pages/index/index',
            text: '首页',
            iconName: '图标名称',
        },
    ]
}
  • 自定义图标

配置中传入 iconUrl 字段 和 iconSelectUrl 字段,也就是说需要2张自定义图片。

// js
data: {
    options: [
        {
            iconUrl: 'https://cdn.mingsixue.com/xcx/MXWUI/hot.png',
            iconSelectUrl: 'https://cdn.mingsixue.com/xcx/MXWUI/set.png',
        },
    ]
}
  • 是否显示小红点

配置中传入 dot 字段,并设置为 true。

// js
data: {
    options: [
        {
            dot: true
        },
    ]
}
  • 判断是否要登录

配置中传入 isLogin 字段,并设置为 true,将在点击的时候拦截跳转事件,抛出 bind:menuTap 自定义事件,需要在该事件回调中自行处理判断登录、跳转等逻辑。

<mx-menu options="{{options}}" bind:menuTap="handleTap" />
// js
data: {
    options: [
        {
            isLogin: true
        },
    ]
}

指定选中项 current

属性:current,默认 0,从 0 开始的下标值。

<mx-menu current="1" />

文本/图标 颜色 color

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

<mx-menu color="#777" />

选中项文本/图标 颜色 selectColor

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

<mx-menu selectColor="#1677FF" />

文本字号 textSize

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

只建议在纯文本导航中使用。

<mx-menu textSize="32" />

层级 zIndex

属性:zIndex,默认 518,需要比 Mask组件的层级(520)低。

<mx-menu zIndex="1" />

参数

参数 类型 必填 可选值 默认值 参数描述
options Array 是 数据项
current Number 是 数字 0 当前选中项
color String 颜色值 #040A23 文本/图标颜色,支持任何合法的颜色值
selectColor String 颜色值 #CA0E2D 选中项文本/图标颜色,支持任何合法的颜色值
textSize Number 数字 28 文本字号
zIndex Number 数字 518 层级
bind:menu_tap Handle Event 点击事件,options[x].isLogin 时生效

options:

参数 类型 必填 可选值 参数描述
text String 是 名称
iconName String 图标库中名称 图标名称,只支持图标库中图标
iconUrl String 图标图片地址,传入则 iconName 无效
iconSelectUrl String 选中时图标图片地址
dot Boolean true、false 是否显示小红点
isLogin Boolean true、false 判断是否要登录,配合 menuTap 事件使用

其他说明

  • 需要判断是否登录时,传入 options[x].isLogin,则不会再默认跳转,通过 menuTap 事件接收返回值,然后需要自行处理登录校验和跳转逻辑
  • 底部导航栏的高度是 100rpx,兼容了刘海屏底部,页面太长的地方用到的话需要注意下是否盖住了内容。