uni-app 添加顶部导航栏并且更换图标;动态判断导航栏消息提醒的小红点是否显示

在这里插入图片描述
效果如上图所示,点击消息按钮跳转到新页面。

page.json中如下配置:

{
	"path": "pages/index/index",
	// "style": {
	// 	"navigationStyle":"custom"
	// }
	"style" : {  
		"navigationBarTitleText" : "北海救助局移动平台",  
		"app-plus" : {  
			"titleNView" : {  
				"buttons" : [  
					//显示小红点
					{  
						"text": "\ue63e",
						"fontSrc": "/static/img/xiaoxi.ttf",
						"fontSize" : "24",  
						"redDot" : true  
					}
					//显示消息条数
					// {  
					// 	"text": "\ue534",  
					// 	"fontSrc": "/static/uni.ttf",  
					// 	"fontSize": "22px",   
					// 	"badgeText" : "12"  
					// }  
				]  
			}  
		}  
	}  
},

在项目中引入字体图标的方法如下:
1.在阿里图标库找到想要的图标,并加入购物车
在这里插入图片描述

2.在右上角购物车中找到下载代码按钮,并下载下来
在这里插入图片描述
3.解压缩下载完成的文件,如下,把文件里的iconfont.ttf放到static文件夹里,然后再打开iconfont.css里查看unicode编码
在这里插入图片描述
在这里插入图片描述
4.最后把对应图标的编码填写到page.json的配置项里text,需要写成一个"\u***",然后重启
5. 导航图标的点击事件如下:

onNavigationBarButtonTap: function() {  
	uni.navigateTo({
	    url: '../remind/index',
		success: res => {},
		fail: (err) => {console.log(err)},
		complete: (data) => {}
	});  
},

6.动态判断是否显示消息提醒的小红点

if(data.length==0) {
	// #ifdef APP-PLUS  
	var webView = this.$mp.page.$getAppWebview();  
	//隐藏角标
	webView.hideTitleNViewButtonRedDot({
		index:0,
	}); 
	// #endif
} else {
	// #ifdef APP-PLUS
	var webView = this.$mp.page.$getAppWebview();  
	//显示角标
	webView.showTitleNViewButtonRedDot({
		index:0,
	}); 
	// #endif
}
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uni-app是一个跨平台的开发框架,可以用于开发多个平台的应用程序。在uni-app中,可以通过自定义底部导航栏来实现个性化的界面设计和功能需求。 以下是一种实现自定义底部导航栏的方法: 1. 首先,创建一个自定义组件,用于显示底部导航栏的每个按钮。可以使用`uni-icons`组件来显示图标,并添加相应的点击事件。 ```vue <template> <view> <view class="tabbar"> <view class="tabbar-item" @click="navigateTo('home')"> <uni-icons type="home"></uni-icons> <text>首页</text> </view> <view class="tabbar-item" @click="navigateTo('discover')"> <uni-icons type="discover"></uni-icons> <text>发现</text> </view> <view class="tabbar-item" @click="navigateTo('mine')"> <uni-icons type="mine"></uni-icons> <text>我的</text> </view> </view> </view> </template> <script> export default { methods: { navigateTo(page) { uni.navigateTo({ url: `/pages/${page}/${page}` }); } } } </script> <style> .tabbar { display: flex; justify-content: space-around; align-items: center; height: 100px; background-color: #f5f5f5; } .tabbar-item { display: flex; flex-direction: column; align-items: center; } </style> ``` 2. 在需要显示底部导航栏的页面中,引入自定义组件,并在页面的底部位置使用该组件。 ```vue <template> <view> <!-- 页面内容 --> </view> <custom-tabbar></custom-tabbar> </template> <script> import CustomTabbar from '@/components/CustomTabbar.vue'; export default { components: { CustomTabbar } } </script> ``` 通过以上步骤,你可以实现一个自定义的底部导航栏,并在不同的页面之间进行切换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值