Skip to content

NavBar 导航栏

为页面提供导航功能,常用于页面顶部。支持自定义标题、左右按钮、背景颜色等多种配置。

导入

js
import NavBar from '@/components/nav/NavBar.vue';

使用方法

基础用法

通过 title 属性设置导航栏标题。

vue
<template>
  <NavBar 
    title="标题" 
    backgroundColor="white" 
    @leftButtonPressed="onClick" 
  />
</template>

<script setup>
function onClick() {
  uni.showToast({
    title: '点击了',
    icon: 'none',
  });
}
</script>

返回上级

设置 leftButton="back" 可以实现返回上级页面的功能。

vue
<template>
  <NavBar 
    title="标题" 
    backgroundColor="white" 
    leftButton="back"
  />
</template>

右侧按钮

可以在导航栏右侧添加不同类型的按钮,还可以设置右侧胶囊按钮空间。

vue
<template>
  <NavBar 
    title="标题" 
    backgroundColor="white" 
    leftButton="back"
    rightButton="search"
  />
  
  <!-- 右侧胶囊按钮空间 -->
  <NavBar 
    title="右侧胶囊按钮空间" 
    backgroundColor="white" 
    leftButton="back"
    rightButton="search"
    rightPillSpace
  />
</template>

超长文字自动滚动

当标题文字过长时,可以启用自动滚动功能。

vue
<template>
  <NavBar 
    title="网页:今日要闻,某某大事件某某大事件某某大事件" 
    titleScroll
    backgroundColor="white" 
    leftButton="back"
  />
</template>

自定义渲染

可以通过插槽自定义导航栏两侧的内容。

vue
<template>
  <NavBar 
    title="标题" 
    backgroundColor="white" 
    leftButton="back"
    rightButton="search"
  >
    <template #left>
      <!-- 自定义左侧内容 -->
    </template>
    <template #right>
      <Image src="https://imengyu.top/assets/images/test/1.jpg" :width="60" :height="60" />
    </template>
  </NavBar>
</template>

<script setup>
import Image from '@/components/basic/Image.vue';
</script>

API 参考

Props

名称说明类型必填默认值
height标题栏高度number | string80
leftButton左侧按钮类型'back' | 'menu' | 'search' | 'setting' | 'custom'-
title标题文字string-
align标题对齐方式'center' | 'left''center'
rightButton右侧按钮类型'back' | 'menu' | 'search' | 'setting' | 'custom'-
showRightButton是否显示右侧按钮booleantrue
rightPillSpace是否显示右侧按钮的胶囊间距boolean-
rightPillSpaceForce手动指定右侧按钮的胶囊间距(像素)number50
showLeftButton是否显示左侧按钮booleantrue
backgroundColor自定义背景颜色string-
textColor自定义文字颜色string'black'
innerStyle自定义样式object-
titleStyle自定义标题文字样式object-
titleScroll标题文字超出时,是否自动滚动booleantrue
iconProps图标透传样式object-

Slots

名称说明
left左侧按钮自定义内容
center中间标题自定义内容
right右侧按钮自定义内容

Events

名称说明参数
leftButtonPressed左侧按钮点击事件
rightButtonPressed右侧按钮点击事件

主题变量

变量名默认值说明
NavBarHeight80导航栏高度
NavBarAlign'center'标题对齐方式
NavBarTitleColor'black'标题文字颜色
NavBarTitleFontSize30标题文字大小
NavBarTitlePaddingHorizontal15标题文字水平内边距