更新记录

1.0.2(2024-07-17) 下载此版本

被全package.json的uni_modules依赖项

1.0.1(2024-07-17) 下载此版本

补全uni_modules依赖

1.0.0(2024-07-17) 下载此版本

新增

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × ×

hbxw-nav-bar组件

介绍

高度可自定义NavBar 可通过slot高度自定义NavBar slot:left自定义NavBar左边内容 slot:middle自定义NavBar中间内容 slot:right自定义NavBar左边内容

slot:content自定义NavBar整个区域内容

使用示例

推荐先直接复制示例代码到工程中看效果了解下使用方法再投入项目使用。


<template>
    <view class="container">
        <hbxw-nav-bar 
      v-if="type === 'navbar0'" 
      title="页面标题0" 
      leftIconColor="#fff" 
      @leftClick="leftClick" 
      @rightClick="rightClick"
      :titleStyle="{color: 'white'}"
    />

    <hbxw-nav-bar
      v-if="type === 'navbar1'" 
      title="页面标题1" 
      leftIconColor="#fff" 
      @leftClick="leftClick" 
      @rightClick="rightClick"
      :titleStyle="{color: 'white'}"
      bgColor="red"
      :opacity="navOpacity"
    />

        <hbxw-nav-bar v-if="type === 'navbar2'" bgColor="red">
      <template v-slot:content>
        <view class="nav-bar-content">完全自定义navbar</view>
      </template>
    </hbxw-nav-bar>
    <view class="content">
      <button @click="toggleAction('navbar0')" class="toggle-btn" :class="{active: type === 'navbar0'}">navbar0</button>
      <button @click="toggleAction('navbar1')" class="toggle-btn" :class="{active: type === 'navbar1'}">navbar1</button>
      <button @click="toggleAction('navbar2')" class="toggle-btn" :class="{active: type === 'navbar2'}">navbar2</button>
    </view>
    </view>
</template>
navbar1
<script>
    export default {
        data() {
            return {
        type: 'navbar0',
        navOpacity: 0
            }
        },
    mounted() {

    },
    onPageScroll(e) {
      const { scrollTop } = e;
      const navOpacity = scrollTop / 100;
      this.navOpacity = navOpacity <= 1 ? navOpacity : 1;
    },
        methods: {
      leftClick(e) {
        console.log('---- leftClick -----:', e);
      },
      rightClick(e) {
        console.log('---- rightClick -----:', e);
      },
      toggleAction(type) {
        this.type = type;
      }
        }
    }
</script>

<style lang="scss" scoped>
  .container{
    width: 100%;
    height: 1000px;
    display: flex;
    flex-direction: column;
    background-image: linear-gradient(to bottom, green, white);
  }
  .nav-bar-content{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .title{
    padding:10rpx;
    font-size: 32rpx;
  }
  .toggle-btn{
    margin-top: 30rpx;
    &.active{
      background-color: red;
      color:#fff;
    }
  }
  .content{
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
  }
  .bg-img{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
</style>

API

zIndexNumber

Props

属性名 类型 默认值 必填 说明
title String '' NavBar标题
bgColor '' transparent NavBar颜色
back Boolean true 点击左边区域是否需要调起uni.navigateBack()
showLeft Boolean true 是否展示NavBar左边区域
leftIconSize Number 30 左边icon尺寸
leftIconColor String #333 左边icon颜色
showRight Boolean true 是否展示右边区域
titleStyle Object {} 自定义中间title区域样式
zIndex Number 9999 NavBar层级
opacity Number 1 NavBar背景透明度,可用于实现随着页面滚动渐现navbar背景效果

Events

事件名 说明 返回值
leftClick NavBar左边区域点击触发事件回调 无返回
rightClick NavBar右边区域点击触发事件回调 无返回

隐私、权限声明

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

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

插件不采集任何数

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

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问