为页面提供导航功能,常用于页面顶部。
通过以下方式来全局注册组件,更多注册方式请参考组件注册。
import { createApp } from "vue";
import { NavBar } from "vant";
const app = createApp();
app.use(NavBar);
通过 title
属性设置导航栏标题。
<van-nav-bar title="标题" />
在导航栏实现返回上级功能。
<van-nav-bar
title="标题"
left-text="返回"
left-arrow
@click-left="onClickLeft"
/>
export default {
setup() {
const onClickLeft = () => history.back();
return {
onClickLeft,
};
},
};
在导航栏右侧添加可点击的按钮。
<van-nav-bar
title="标题"
left-text="返回"
right-text="按钮"
left-arrow
@click-left="onClickLeft"
@click-right="onClickRight"
/>
import { showToast } from "vant";
export default {
setup() {
const onClickLeft = () => history.back();
const onClickRight = () => showToast("按钮");
return {
onClickLeft,
onClickRight,
};
},
};
可以通过插槽自定义导航栏两侧的内容。
<van-nav-bar title="标题" left-text="返回" left-arrow>
<template #right>
<van-icon name="search" size="18" />
</template>
</van-nav-bar>
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
title | 标题 | string | ""
|
left-text | 左侧文案 | string | ""
|
right-text | 右侧文案 | string | ""
|
left-arrow | 是否显示左侧箭头 | boolean | false
|
border | 是否显示下边框 | boolean | true
|
fixed | 是否固定在顶部 | boolean | false
|
placeholder | 固定在顶部时,是否在标签位置生成一个等高的占位元素 | boolean | false
|
z-index | 导航栏 z-index | number | string | 1
|
safe-area-inset-top | 是否开启顶部安全区适配 | boolean | false
|
clickable | 是否开启两侧按钮的点击反馈 | boolean | true
|
名称 | 说明 |
---|---|
title | 自定义标题 |
left | 自定义左侧区域内容 |
right | 自定义右侧区域内容 |
事件名 | 说明 | 回调参数 |
---|---|---|
click-left | 点击左侧按钮时触发 | event: MouseEvent |
click-right | 点击右侧按钮时触发 | event: MouseEvent |
组件导出以下类型定义:
import type { NavBarProps } from "vant";
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。
名称 | 默认值 | 描述 |
---|---|---|
--van-nav-bar-height | 46px | - |
--van-nav-bar-background | var(--van-background-2) | - |
--van-nav-bar-arrow-size | 16px | - |
--van-nav-bar-icon-color | var(--van-primary-color) | - |
--van-nav-bar-text-color | var(--van-primary-color) | - |
--van-nav-bar-title-font-size | var(--van-font-size-lg) | - |
--van-nav-bar-title-text-color | var(--van-text-color) | - |
--van-nav-bar-z-index | 1 | - |
介绍Sticky 组件与 CSS 中position: sticky属性实现的效果一致,当组件在屏幕范围内时,会按照正常的布局排列,当组件滚出屏幕范...
介绍用于提供下拉刷新的交互操作。实例演示引入通过以下方式来全局注册组件,更多注册方式请参考组件注册。import { createApp }...
引入ImagePreview和其他组件不同,不是通过HTML结构的方式来使用,而是通过函数调用的方式。使用前需要先引入它。import Vue fro...
介绍Sticky 组件与 CSS 中position: sticky属性实现的效果一致,当组件在屏幕范围内时,会按照正常的布局排列,当组件滚出屏幕范...