Back to Uni App

Set Navigation Bar Title

docs/api/set-navigation-bar-title.md

2.3.38.7 KB
Original Source
<!-- ## uni.setNavigationBarTitle(options) @setnavigationbartitle -->

::: sourceCode

uni.setNavigationBarTitle(options) @setnavigationbartitle

GitCode: https://gitcode.com/dcloud/uni-api/tree/alpha/uni_modules/uni-navigationBar

GitHub: https://github.com/dcloudio/uni-api/tree/alpha/uni_modules/uni-navigationBar

:::

动态设置当前页面的标题

setNavigationBarTitle 兼容性

Web微信小程序AndroidiOSHarmonyOSHarmonyOS(Vapor)
4.04.413.974.114.615.0

参数

名称类型必填默认值兼容性描述
optionsSetNavigationBarTitleOptions-Web: -; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -

options 的属性描述

名称类型必备默认值兼容性描述
titlestring-Web: 4.0; 微信小程序: 4.41; Android: 3.97; iOS: 4.11; HarmonyOS: 4.61; HarmonyOS(Vapor): 5.0页面标题
success(result: SetNavigationBarTitleSuccess) => void-Web: 4.0; 微信小程序: 4.41; Android: 3.97; iOS: 4.11; HarmonyOS: 4.61; HarmonyOS(Vapor): 5.0接口调用成功的回调函数
fail(error: SetNavigationBarTitleFail) => void-Web: 4.0; 微信小程序: 4.41; Android: 3.97; iOS: 4.11; HarmonyOS: 4.61; HarmonyOS(Vapor): 5.0接口调用失败的回调函数
complete(res: SetNavigationBarTitleComplete) => void-Web: 4.0; 微信小程序: 4.41; Android: 3.97; iOS: 4.11; HarmonyOS: 4.61; HarmonyOS(Vapor): 5.0接口调用结束的回调函数(调用成功、失败都会执行)

SetNavigationBarTitleSuccess 的属性值 @setnavigationbartitlesuccess-values

名称类型必备默认值兼容性描述
errMsgstring-Web: -; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -

SetNavigationBarTitleFail 的属性值 @setnavigationbartitlefail-values

名称类型必备默认值兼容性描述
errCodenumber-Web: -; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -设置导航栏标题错误码
  • 4: 框架内部异常 | | errSubject | string | 是 | - | Web: -; 微信小程序: -; Android: -; iOS: -; HarmonyOS: - | 统一错误主题(模块)名称 | | data | any | 否 | - | Web: -; 微信小程序: -; Android: -; iOS: -; HarmonyOS: - | 错误信息中包含的数据 | | cause | Error | 否 | - | Web: -; 微信小程序: -; Android: -; iOS: -; HarmonyOS: - | 源错误信息,可以包含多个错误,详见SourceError | | errMsg | string | 是 | - | Web: -; 微信小程序: -; Android: -; iOS: -; HarmonyOS: - | |

SetNavigationBarTitleComplete 的属性值 @setnavigationbartitlecomplete-values

名称类型必备默认值兼容性描述
errMsgstring-Web: -; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -

返回值

类型必备
Promise<SetNavigationBarTitleSuccess>

Promise<SetNavigationBarTitleSuccess> 的属性描述

名称类型必备默认值兼容性描述
errMsgstring-Web: -; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -

参见

示例

示例为hello uni-app x alpha分支,与最新HBuilderX Alpha版同步。与最新正式版同步的master分支示例另见 ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/set-navigation-bar-title/set-navigation-bar-title

appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/set-navigation-bar-title/set-navigation-bar-title

示例

vue
<template>
  <page-head title="setNavigationBarTitle"></page-head>
  <view class="uni-padding-wrap uni-common-mt">
    <button @tap="setNavigationBarNewTitle" class="uni-btn">
      设置当前页面标题为: {{ newTitle }}
    </button>
    <button @tap="setNavigationBarLongTitle" class="uni-btn">
      设置超长标题
    </button>
    <!-- #ifndef VUE3-VAPOR -->
    <!-- #ifdef APP-HARMONY -->
    <button @tap="showNavigationBarLoading" class="uni-btn">
      设置标题 loading
    </button>
    <button @tap="hideNavigationBarLoading" class="uni-btn">
      隐藏标题 loading
    </button>
    <!-- #endif -->
    <!-- #endif -->
  </view>
</template>

<script setup lang="uts">
  import { state, setLifeCycleNum } from '@/store/index.uts'

  const newTitle = ref('new title')
  const longTitle = ref('long title long title long title long title long title long title long title long title long title long title')

  // 自动化测试
  const getLifeCycleNum = () : number => {
    return state.lifeCycleNum
  }

  // 自动化测试
  const setLifeCycleNumFunc = (num : number) => {
    setLifeCycleNum(num)
  }

  // #ifdef APP-HARMONY
  const showNavigationBarLoading = () => {
    uni.showNavigationBarLoading({
      success: () => {
        console.log('showNavigationBarLoading success')
      },
      fail: () => {
        console.log('showNavigationBarLoading fail')
      },
      complete: () => {
        console.log('showNavigationBarLoading complete')
      }
    })
  }

  const hideNavigationBarLoading = () => {
    uni.hideNavigationBarLoading({
      success: () => {
        console.log('hideNavigationBarLoading success')
      },
      fail: () => {
        console.log('hideNavigationBarLoading fail')
      },
      complete: () => {
        console.log('hideNavigationBarLoading complete')
      }
    })
  }
  // #endif

  const setNavigationBarNewTitle = () => {
    uni.setNavigationBarTitle({
      title: newTitle.value,
      success: () => {
        console.log('setNavigationBarTitle success')
        setLifeCycleNumFunc(state.lifeCycleNum + 1)
      },
      fail: () => {
        console.log('setNavigationBarTitle fail')
        setLifeCycleNumFunc(state.lifeCycleNum - 1)
      },
      complete: () => {
        console.log('setNavigationBarTitle complete')
        setLifeCycleNumFunc(state.lifeCycleNum + 1)
      }
    })
  }

  const setNavigationBarLongTitle = () => {
    uni.setNavigationBarTitle({
      title: longTitle.value,
      success() {
        console.log('setNavigationBarTitle success')
      },
      fail() {
        console.log('setNavigationBarTitle fail')
      },
      complete() {
        console.log('setNavigationBarTitle complete')
      }
    })
  }

  defineExpose({
    getLifeCycleNum,
    setLifeCycleNum: setLifeCycleNumFunc,
    setNavigationBarNewTitle,
    setNavigationBarLongTitle
  })
</script>

:::

通用类型

GeneralCallbackResult

名称类型必备默认值兼容性描述
errMsgstring-Web: -; 微信小程序: 4.41; Android: -; iOS: -; HarmonyOS: -错误信息