更新记录

1.0.0(2026-11-12) 下载此版本

新增

  • 从 e-sport 项目移植 y-nav-bar 组件到 uni_modules。
  • 支持居中标题、左侧头像两种布局。
  • 自动适配微信小程序胶囊按钮位置,支持状态栏占位。
  • 支持页面滚动时的背景渐变与模糊效果。
  • 返回逻辑兼容页面栈为空,自动回到首页。
  • 声明 y-scss、y-icon 依赖。

平台兼容性

uni-app(5.0)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× √ - - √ - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
√ - - - - - - - - - - -

y-nav-bar

y-nav-bar 是面向 uni-app(Vue 3) 的自定义导航栏组件,适配微信小程序胶囊按钮,支持标题、返回、左侧头像和滚动渐变。

  • 当前版本:1.0.0
  • 依赖:y-scss(主题变量与工具类)、y-icon(返回箭头)

特性

  • 自动读取胶囊按钮位置,适配不同机型状态栏高度。
  • 支持居中标题、左侧头像两种布局。
  • 页面滚动时背景渐变 + 模糊。
  • 返回逻辑兼容页面栈为空的情况,自动回到首页。

属性

属性 类型 默认值 说明
title String '' 导航栏标题
type String 'default' default 居中标题;left 左侧头像
img String null type="left" 时显示的头像/图标地址
bgColor String '' 导航栏背景色
color String '' 标题和返回图标颜色,默认 rgb(var(--y-title))
showBack Boolean true 是否显示返回按钮(type="default" 时生效)

事件

事件 参数 说明
nav-info 胶囊按钮信息 组件挂载后触发,可用于计算页面内容顶部占位
backed - 返回成功后触发

用法

<template>
  <view>
    <y-nav-bar title="页面标题" @nav-info="onNavInfo" />

    <!-- 左侧头像模式 -->
    <y-nav-bar type="left" :img="avatar" title="棋手详情" :show-back="false" />
  </view>
</template>

使用自定义导航栏的页面,需要在 pages.json 中关闭原生导航栏:

{
  "path": "pages/index/index",
  "style": {
    "navigationStyle": "custom"
  }
}

滚动渐变

组件监听全局 pageScroll 事件。页面需要在 onPageScroll 中派发滚动位置:

<script setup>
import { onPageScroll } from '@dcloudio/uni-app'

onPageScroll((e) => {
  uni.$emit('pageScroll', { scrollTop: e.scrollTop })
})
</script>

pageScroll 是全局事件,多个页面同时挂载导航栏时会互相影响,建议同一时间只在一个页面使用。

说明

  • 返回时如果页面栈没有上一页,会 reLaunch 到 /pages/index/index,如项目首页路径不同请调整。
  • 组件依赖 y-scss 的 --y-container、--y-title 变量,以及 d-flex、ai-center、fs-30、toel 等工具类。
  • 返回箭头使用 y-icon 的 left 图标。

更新日志

见 changelog.md。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

无

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

许可协议

MIT协议

暂无用户评论。