常用于页面顶部的导航,返回页面等场景。
标题内容支持居中、居左显示,支持自定义图片,图标支持自定义颜色、图标、图片、事件,左侧支持第2个图标。
示例图


基础用法
页面 .json 文件 usingComponents 中引入组件
// json
{
"usingComponents": {
"mx-nav": "/components/mxwui/nav/index"
}
}页面 .wxml 文件中使用组件
<mx-nav title="页面标题" />更多用法示例
主题 theme
属性:theme,可选值:light、dark,默认 dark 深色主题。
- light 浅色主题(白底黑字)
<mx-nav theme="light" />- dark 深色主题(主题色白字)
<mx-nav theme="dark" />导航栏背景色 bgColor
属性:bgColor,默认为 #FFFFFF,会根据不同主题色进行调整,支持任何合法的颜色值。
<mx-nav bgColor="#1677FF" />标题 title
属性:title,自定义标题。
<mx-nav title="首页" />标题文本色 titleColor
属性:titleColor,支持任何合法的颜色值。
当 light 浅色主题时,默认为 #FFFFFF。
当 dark 深色主题时,默认为 #040A23。
<mx-nav titleColor="#00f" />标题自定义图片 titleImg
属性:titleImg,自定义图片地址,传了则 title 和 titleColor 无效。
<mx-nav titleImg="https://cdn.mingsixue.com/xcx/MXWUI/mxwui.png" />标题是否居左 isLeft
属性:isLeft,默认 false 不居左,默认标题居中。
- 标题居中
<mx-nav isLeft="{{false}}" />
<mx-nav />- 标题居左
<mx-nav isLeft />
<mx-nav isLeft="{{true}}" />是否显示左侧图标 isHideIcon
属性:isHideIcon,默认 true 显示。
- 显示
<mx-nav />
<mx-nav isHideIcon />
<mx-nav isHideIcon="{{true}}" />- 不显示
<mx-nav isHideIcon="{{false}}" />自定义图标 iconName
属性:iconName,图标库中图标名称。
当可返回上一页时默认图标为 arrows_left,没有可返回的上一页时为 home。
<mx-nav iconName="circle_left_fill" />自定义图标颜色 iconColor
属性:iconColor,默认颜色会根据主题进行切换,主题 dark 时为 #040A23,light 时为 #FFFFFF。
<mx-nav iconColor="#0f0" />图标使用自定义图片 iconImg
属性:iconImg,自定义图片地址,传入则 iconName 和 iconColor 无效。
<mx-nav iconImg="https://cdn.mingsixue.com/xcx/MXWUI/hot.png" />自定义图标事件 isCustomIconHandle
属性:isCustomIconHandle,默认 false 不开启自定义事件。
事件:bind:nav_icon_tap,图标点击事件。
会根据是否有上一级页面来决定是返回上一级页面还是跳转到首页,当定义 isCustomIconHandle 字段后会开启自定义事件,通过 bind:nav_icon_tap 事件接收,不再处理默认跳转的逻辑,需要自行处理。
<mx-nav isCustomIconHandle bind:nav_icon_tap="iconTap" />设置第二个图标
属性:secondIconName,第二个图标名称,只支持图标库中图标名称。
属性:secondIconColor,第二个图标的颜色,支持任何合法的颜色值。
属性:secondIconImg,第二个图片自定义图片,传入后 secondIconName 和 secondIconColor 无效。
事件:bind:nav_second_icon_tap,第二个图标点击事件
- 自定义图标
<mx-nav secondIconName="filter" secondIconColor="#00f" bind:nav_second_icon_tap="secondIconTap" />- 自定义图片
<mx-nav secondIconImg="https://cdn.mingsixue.com/xcx/MXWUI/set.png" bind:nav_second_icon_tap="secondIconTap" />层级 zIndex
属性:zIndex,默认 519,因为Mask组件层级是520,需要比它小。
<mx-nav zIndex="1" />导航透明
需要透明导航的话,设置 title="",bgColor="transparent" 和 isHideIcon="{{false}}"。
<mx-nav title="" bgColor="transparent" isHideIcon="{{false}}" />参数
| 参数 | 类型 | 必填 | 可选值 | 默认值 | 参数描述 |
|---|---|---|---|---|---|
| theme | String | 是 | light、dark |
dark |
颜色主题,影响文本色、图标颜色和背景色 |
| bgColor | String | 颜色值 | #FFFFFF |
导航栏背景色,支持任何合法的颜色值 | |
| title | String | 标题文本 | |||
| titleColor | String | 颜色值 | 标题文本色,支持任何合法的颜色值 | ||
| titleImg | String | url | 标题自定义图片地址,传了则 title、titleColor 参数无效 |
||
| isLeft | Boolean | true、false |
false |
标题是否居左 | |
| isHideIcon | Boolean | true、false |
true |
是否显示左侧图标 | |
| iconName | String | arrows_left |
图标名称,只支持图标库的图标 | ||
| iconColor | String | 颜色值 | 图标自定义颜色,不传根据 theme 确定,支持任何合法的颜色值 |
||
| iconImg | String | url | 图标自定义图片地址,传了则 iconName、iconColor 无效 |
||
| isCustomIconHandle | Boolean | true、false |
false |
是否使用图标自定义事件,默认事件为返回或跳转首页 | |
| secondIconName | String | 第二个图标名称 | |||
| secondIconColor | String | 颜色值 | 第二个图标自定义颜色,支持任何合法的颜色值 | ||
| secondIconImg | String | url | 第二个图标自定义图片地址,,传了则 secondIconName、secondIconColor 无效 |
||
| zIndex | Number | 数字 | 519 |
导航栏层级 |
事件
| 事件名称 | 类型 | 返回值 | 事件说明 |
|---|---|---|---|
| bind:nav_icon_tap | Click | 图标点击事件,需要配合 isCustomIconHandle 参数使用 |
|
| bind:nav_second_icon_tap | Click | 第二个图标点击事件 |
可修改常量
| 常量 | 值 | 说明 |
|---|---|---|
| HOME_URL | /pages/index/index |
默认首页地址 |
| DEFAULT_ICON | arrows_left |
默认返回图标 |
| DEFAULT_ICON_HOME | home |
默认首页图标 |
可在 src/components/mxwui/utils/common.js 中修改
其他说明
- 如果需要改变状态栏颜色,请在页面的配置文件中修改,值只支持
white/black
{
"navigationBarTextStyle": "black"
}