Skip to content

NavBar 导航栏 - Vant 4

🧭 NavBar 导航栏

🎯 介绍

NavBar 组件提供页面导航功能,为页面提供导航功能,常用于页面顶部。支持标题显示、左侧返回、右侧按钮等功能,让页面导航更加清晰!

📦 引入

通过以下方式来全局注册组件,更多注册方式请参考组件注册

js
import { createApp } from'vue'; import { NavBar } from'vant'; const app = createApp(); app.use(NavBar);

🎯 代码演示

🔧 基础用法

通过 title 属性设置导航栏标题,就像给页面戴上一顶漂亮的帽子!🎩

html
<van-navbar title="标题" />

⬅️ 返回上级

在导航栏实现返回上级功能,让用户轻松找到回家的路!🏠

html
<van-navbar
  title="标题"
  left-text="返回"
  left-arrow
  @click-left="onClickLeft"
/>
js
export default {
  setup() {
    const onClickLeft = () => history.back();
    return {
      onClickLeft,
    };
  },
};

➡️ 右侧按钮

在导航栏右侧添加可点击的按钮,就像给工具箱增加一个便捷的小工具!🔧

html
<van-navbar
  title="标题"
  left-text="返回"
  right-text="按钮"
  left-arrow
  @click-left="onClickLeft"
  @click-right="onClickRight"
/>
js
import { showToast } from 'vant';

export default {
  setup() {
    const onClickLeft = () => history.back();
    const onClickRight = () => showToast('按钮');
    return {
      onClickLeft,
      onClickRight,
    };
  },
};

🎨 使用插槽

可以通过插槽自定义导航栏两侧的内容,就像装修房子一样自由发挥创意!✨

html
<van-navbar title="标题" left-arrow @click-left="onClickLeft">
  <template #right>
    <van-icon name="search" size="18" />
  </template>
</van-navbar>

🚫 禁用按钮

通过 left-disabledright-disabled 属性来禁用两侧的按钮。按钮被禁用时透明度降低,且无法点击,就像给按钮戴上了"请勿打扰"的标签!😴

html
<van-navbar
  title="标题"
  left-text="返回"
  right-text="按钮"
  left-arrow
  right-disabled
  @click-left="onClickLeft"
  @click-right="onClickRight"
/>

📋 API

🎛️ Props

参数说明类型默认值
title标题文字,导航栏的"门牌号" 🏷️string''
left-text左侧文案,通常是"返回"按钮 ⬅️string''
right-text右侧文案,可以是"完成"、"保存"等 ➡️string''
left-disabled v4.6.8是否禁用左侧按钮,禁用时透明度降低,且无法点击 🚫booleanfalse
right-disabled v4.6.8是否禁用右侧按钮,禁用时透明度降低,且无法点击 🚫booleanfalse
left-arrow是否显示左侧箭头,指引用户返回方向 🏹booleanfalse
border是否显示下边框,为导航栏添加分割线 📏booleantrue
fixed是否固定在顶部,让导航栏始终可见 📌booleanfalse
placeholder固定在顶部时,是否在标签位置生成一个等高的占位元素 🎭booleanfalse
z-index导航栏层级,控制显示优先级 📚number | string1
safe-area-inset-top是否开启顶部安全区适配,适配刘海屏 📱booleanfalse
clickable是否开启两侧按钮的点击反馈,提供触觉体验 👆booleantrue

🎰 Slots

名称说明
title自定义标题,让标题区域更个性化 🎨
left自定义左侧区域内容,可以放置图标或其他元素 ⬅️
right自定义右侧区域内容,可以放置按钮或图标 ➡️

🎪 Events

事件名说明回调参数
click-left点击左侧按钮时触发,通常用于返回操作 👈event: MouseEvent
click-right点击右侧按钮时触发,可以执行各种操作 👉event: MouseEvent

📝 类型定义

组件导出以下类型定义:

ts
import type { NavBarProps } from 'vant';

🎨 主题定制

🎛️ 样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件

名称默认值描述
--van-nav-bar-height46px导航栏高度 📏
--van-nav-bar-backgroundvar(--van-background-2)导航栏背景色 🎨
--van-nav-bar-arrow-size16px箭头图标大小 🏹
--van-nav-bar-icon-colorvar(--van-primary-color)图标颜色 🎯
--van-nav-bar-text-colorvar(--van-primary-color)文字颜色 ✏️
--van-nav-bar-title-font-sizevar(--van-font-size-lg)标题字体大小 📝
--van-nav-bar-title-text-colorvar(--van-text-color)标题文字颜色 🏷️
--van-nav-bar-z-index1导航栏层级 📚

📚 相关文档

基於Vant構建的企業級移動端解決方案