Skip to content

NavBar 导航栏

基础用法

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

html
<template>
  <ANavBar title="标题" />
</template>
<template>
  <ANavBar title="标题" />
</template>

返回上级

在导航栏实现返回上级功能。

html
<script setup lang="ts">
function onClickLeft() {
  const pages = getCurrentPages()
  if (pages.length > 1) {
    uni.navigateBack()
  }
  else {
    uni.redirectTo({
      url: '/',
    })
  }
}
</script>

<template>
  <ANavBar title="标题" left-text="返回" left-arrow @click-left="onClickLeft" />
</template>
<script setup lang="ts">
function onClickLeft() {
  const pages = getCurrentPages()
  if (pages.length > 1) {
    uni.navigateBack()
  }
  else {
    uni.redirectTo({
      url: '/',
    })
  }
}
</script>

<template>
  <ANavBar title="标题" left-text="返回" left-arrow @click-left="onClickLeft" />
</template>

右侧按钮

在导航栏右侧添加可点击的按钮。

html
<script setup lang="ts">
function onClickRight() {
  console.log('点击右侧按钮')
}
</script>

<template>
  <ANavBar title="标题" right-text="按钮" @click-right="onClickRight" />
</template>
<script setup lang="ts">
function onClickRight() {
  console.log('点击右侧按钮')
}
</script>

<template>
  <ANavBar title="标题" right-text="按钮" @click-right="onClickRight" />
</template>

使用插槽

通过插槽自定义导航栏内容。

html
<template>
  <ANavBar title="标题">
    <template #left>
      <AIcon name="i-tabler-home" />
    </template>
    <template #title>
      标题
    </template>
    <template #right>
      <AIcon name="i-tabler-compass" />
    </template>
  </ANavBar>
</template>
<template>
  <ANavBar title="标题">
    <template #left>
      <AIcon name="i-tabler-home" />
    </template>
    <template #title>
      标题
    </template>
    <template #right>
      <AIcon name="i-tabler-compass" />
    </template>
  </ANavBar>
</template>

API

Props

参数说明类型默认值
title标题string''
left-text左侧文本string''
right-text右侧文本string''
left-arrow是否显示左侧箭头booleanfalse
fixed是否固定在顶部booleanfalse
border是否显示下边框booleantrue
height导航栏高度string''
z-indexz-index 层级number1

Events

事件名说明回调参数
click-left点击左侧按钮时触发-
click-right点击右侧按钮时触发-

Slots

名称说明
default自定义内容
left自定义左侧内容
title自定义标题内容
right自定义右侧内容

MIT Licensed