首页IT科技uni-app自定义底部导航栏(uni-app动态修改导航栏标题)

uni-app自定义底部导航栏(uni-app动态修改导航栏标题)

时间2025-07-11 14:28:20分类IT科技浏览9251
导读:对导航栏标题进行修改,直接使用就可以 uni.setNavigationBarTitle({ title:...

对导航栏标题进行修改,直接使用就可以

uni.setNavigationBarTitle({ title: "标题名称" });

动态修改标题名称,数据可能是从上一个页面传递过来的,直接在onLoad页面周期函数中使用

onLoad(props) { console.log(props,"onLoad");//获取上一个页面传递的数据 if (props?.title) { const titleType = props.title; let barTitle = "预约会议"; switch (titleType) { case "order": barTitle = 预约会议; break; case "create": barTitle = 创建会议; break; case "edit": barTitle = 编辑会议; break; default: break; } uni.setNavigationBarTitle({ title: barTitle }); } }

⚠️可能会出现在网页中切换标题正常,但是在真机中没有效果,通过查看官网看到这么一句话

如果需要在页面进入时设置标题,可以在onReady内执行,以避免被框架内的修改所覆盖。如果必须onShow内执行需要延迟一小段时间

打印页面生命周期发现onLoad先于onReady执行,所以即使数据是上一个页面传递过来的,也不会影响标题的展示。

第一步,我们可以在data中定义一个变量headerTitle data(){ return { headerTitle:"",//导航栏的标题 } }

第二步,在onLoad页面周期中去获取上一个页面传递的参数,然后对headerTitle进行赋值,方便我们接下来的使用

onLoad(props) { console.log(props,"onLoad");//获取上一个页面传递的数据 if (props?.title) { const titleType = props.title; let barTitle = "预约会议"; switch (titleType) { case "order": barTitle = 预约会议; break; case "create": barTitle = 创建会议; break; case "edit": barTitle = 编辑会议; break; default: break; } this.headerTitle=barTitle } }

最后,需要在onReady中进行设置标题,⚠️onReady中没有接收的参数

onReady(){ uni.setNavigationBarTitle({ title: this.headerTitle }); }

通过借助两个页面周期函数,可以实现动态修改导航栏标题

上一个页面传递的参数

const type = create;//传递给下一个页面的参数 uni.navigateTo({ url: `/pages/bookAMeeting/index?title=${type}` })

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
火车头采集器好用吗视频(火车头采集器内容排版——提升信息整理效率的利器) vue路由用法(Vue的路由配置(Vue2和Vue3的路由配置))