news 2026/5/1 11:18:38

uni-app 之 设置导航

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
uni-app 之 设置导航

uni-app 提供了一系列 API 来动态设置页面导航栏的样式和状态,帮助开发者创建更丰富的用户界面体验。

1. uni.setNavigationBarTitle(OBJECT)

动态设置当前页面的标题

参数说明
属性类型必填说明
titlestring页面标题
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数
示例代码
uni.setNavigationBarTitle({title:"新的页面标题",});

2. uni.setNavigationBarColor(OBJECT)

设置页面导航条颜色

参数说明
属性类型默认值必填说明
frontColorstring前景颜色值,包括按钮、标题、状态栏的颜色,仅支持 #ffffff 和 #000000
backgroundColorstring背景颜色值,有效值为十六进制颜色
animationobject动画效果
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数
animation 参数说明
属性类型默认值说明
durationnumber0动画变化时间,默认为 0,单位:毫秒
timingFuncstring‘linear’动画变化方式,支持 linear、easeIn、easeOut、easeInOut
示例代码
// 设置导航栏颜色uni.setNavigationBarColor({frontColor:"#ffffff",backgroundColor:"#007AFF",animation:{duration:400,timingFunc:"easeIn",},});

3. uni.showNavigationBarLoading(OBJECT)

在当前页面显示导航条加载动画

参数说明
属性类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数
示例代码
// 显示导航栏加载动画uni.showNavigationBarLoading();

4. uni.hideNavigationBarLoading(OBJECT)

隐藏导航条加载动画

参数说明
属性类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数
示例代码
// 隐藏导航栏加载动画uni.hideNavigationBarLoading();

5. uni.hideHomeButton(OBJECT)

隐藏返回首页按钮

参数说明
属性类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数
示例代码
// 隐藏返回首页按钮uni.hideHomeButton();

完整示例

exportdefault{data(){return{pageTitle:"商品详情",};},onLoad(){// 设置页面标题uni.setNavigationBarTitle({title:this.pageTitle,});// 设置导航栏颜色uni.setNavigationBarColor({frontColor:"#ffffff",backgroundColor:"#007AFF",});},methods:{// 页面数据加载loadData(){// 显示导航栏加载动画uni.showNavigationBarLoading();// 模拟异步请求setTimeout(()=>{// 隐藏导航栏加载动画uni.hideNavigationBarLoading();// 更新页面标题uni.setNavigationBarTitle({title:"最新商品详情",});},2000);},// 改变导航栏主题changeTheme(theme){if(theme==="light"){uni.setNavigationBarColor({frontColor:"#000000",backgroundColor:"#ffffff",});}elseif(theme==="dark"){uni.setNavigationBarColor({frontColor:"#ffffff",backgroundColor:"#007AFF",});}},// 隐藏返回首页按钮hideHomeButton(){uni.hideHomeButton({success:()=>{console.log("返回首页按钮已隐藏");},});},},};

页面配置方式

除了使用 API,也可以在页面的 .vue 文件中通过配置来设置导航栏:

exportdefault{style:{navigationBarTitleText:"页面标题",navigationBarBackgroundColor:"#007AFF",navigationBarTextStyle:"white",navigationStyle:"default",// 'default' 或 'custom'},};

注意事项

  1. frontColor仅支持#ffffff#000000两种颜色值
  2. backgroundColor必须是有效的十六进制颜色值
  3. 在 Android 平台上,某些机型可能不支持动态修改导航栏颜色
  4. hideHomeButton仅在微信小程序等特定平台有效
  5. 导航栏加载动画在不同平台的表现可能略有差异
  6. 页面跳转时,导航栏设置会恢复为页面配置中的默认值
  7. 使用custom导航栏样式时,需要自行实现导航栏布局

实际应用场景

// 商品详情页示例exportdefault{methods:{asyncloadProductDetail(productId){// 显示加载状态uni.showNavigationBarLoading();uni.setNavigationBarTitle({title:"加载中..."});try{constproduct=awaitthis.fetchProduct(productId);// 加载完成后更新标题uni.setNavigationBarTitle({title:product.name,});// 根据商品状态改变导航栏颜色if(product.status==="onsale"){uni.setNavigationBarColor({frontColor:"#ffffff",backgroundColor:"#4CD964",// 绿色表示在售});}else{uni.setNavigationBarColor({frontColor:"#000000",backgroundColor:"#FF9500",// 橙色表示缺货});}}catch(error){uni.setNavigationBarTitle({title:"加载失败"});uni.showToast({title:"获取商品信息失败",icon:"none"});}finally{uni.hideNavigationBarLoading();}},},};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:17:23

<span class=“js_title_inner“>为什么芯片项目需要Makefile?</span>

从RTL到最终流片,中间有几十个工具、上百个步骤。前仿真、后仿真、形式验证、CDC检查、Lint、综合、布局布线、时序分析、功耗分析…每个环节都有一套复杂的命令,每次运行都要敲一长串参数。没有Makefile的项目,就是一座手工作坊。验证阶段&a…

作者头像 李华
网站建设 2026/5/1 11:18:37

上海做肺结节手术的私立医院权威盘点与选择指南

温馨提示:本文内容基于公开医疗信息整理,不作为具体诊疗建议。具体的随访方案或手术安排请咨询专业医生。随着大众健康意识的增强及高分辨率CT筛查的普及,肺结节的检出率逐渐升高。上海作为医疗资源高地,除了实力雄厚的公立三甲医…

作者头像 李华
网站建设 2026/5/1 5:58:50

<span class=“js_title_inner“>.NET 虚拟单体存储库 (VMR)架构演进、同步机制与统一构建策略</span>

摘要本文对.NET 平台的构建架构转型进行了详尽的剖析,特别是从分布式多存储库模式向虚拟单体存储库 (Virtual Monolithic Repository, VMR) 的战略迁移。随着.NET 从 Windows 专有框架演变为跨平台、开源的开发生态系统,其底层的工程复杂性呈指数级增长。…

作者头像 李华