uniapp 开发微信小程序 中使用 custom-tab-bar创建自定义tabbar

这篇具有很好参考价值的文章主要介绍了uniapp 开发微信小程序 中使用 custom-tab-bar创建自定义tabbar。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.   目录结构必须按照如图所示,在src 目录下 

uniapp小程序自定义tabbar,微信小程序,uni-app,小程序,custom-tab-bar

 2. index.js

Component({
	data: {
		selected: 0,
		color: '#7A7E83',
		selectedColor: '#3cc51f',
		list: [
			{
				pagePath: '/pages/index/index',
				iconPath: '/static/tabbar/index.png',
				selectedIconPath: '/static/tabbar/index_selected.png',
				text: '首页'
			},
			{
				pagePath: '/pages/mine/index',
				iconPath: '/static/tabbar/mine.png',
				selectedIconPath: '/static/tabbar/mine_selected.png',
				text: '我的'
			}
		]
	},
	attached() {},
	methods: {
		switchTab(e) {
			const data = e.currentTarget.dataset
			if (data.index === this.data.selected) {
				return
			}
			const url = data.path
			wx.switchTab({ url })
			this.setData({
				selected: data.index
			})
		}
	}
})

3.  index.html

<view class="tabBar">
    <view class="border"></view>
    <view wx:for="{{list}}" wx:key="index" class="tabBarItem" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="switchTab">
        <image class="image" src="{{selected === index ? item.selectedIconPath : item.iconPath}}"></image>
        <view class="text" style="color: {{selected === index ? selectedColor : color}}">
            {{item.text}}
        </view>
    </view>
</view>

4.  wxss

.tabBar {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 99;
	height: 50px;
	background: white;
	display: flex;
	padding-bottom: env(safe-area-inset-bottom);
}

.border {
	background-color: rgba(0, 0, 0, 0.2);
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	height: 1rpx;
	z-index: 2;
	transform: scaleY(0.5);
}

.tabBarItem {
	flex: 1;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.tabBarItem .image {
	width: 20px;
	height: 20px;
	margin-bottom: 4px;
}

.tabBarItem .text {
	font-size: 12px;
}

5. index.json

{
	"component": true
}

uniapp小程序自定义tabbar,微信小程序,uni-app,小程序,custom-tab-bar

 按照微信官方文档,以及代码片段,需要在tabbar 页面中onshow生命周期内设置 tabbar 的选中状态,但是在 uniapp 创建的 页面中是 this 是不包含 getTabBar 方法的, 只有通过 this.$mp.page或者 this.$scope 可以获取到

async onShow() {
		if (typeof this.$mp.page.getTabBar === 'function' &&                 this.$mp.page.getTabBar()) {
			console.log(this)
			this.$mp.page.getTabBar().setData({
				selected: 0
			})
		}
	},
async onShow() {
		if (typeof this.$scope.getTabBar === 'function' && this.$scope.getTabBar()) {
			console.log(this)
			this.$scope.getTabBar().setData({
				selected: 0
			})
		}
	},

通过设置当前页面下的 tabbar 选中状态,自定义tabbar才能正常使用文章来源地址https://www.toymoban.com/news/detail-687854.html

到了这里,关于uniapp 开发微信小程序 中使用 custom-tab-bar创建自定义tabbar的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小程序自定义底部导航 custom-tab-bar完整实现代码附效果图

    根据用户身份,动态设置底部的导航图标  实现步骤: 第一步 ,先配置:app.json里面的 tabBar 的 custom 设置为 true,如图:这里需要注意的是,自定义 tabBar 中包含的页面,在这里的 list 页面路径也必须得有,其它字段可以不设置 相关代码:   第二步 ,创建组件:在项目跟目

    2024年02月15日
    浏览(39)
  • uni-app开发微信小程序使用vant组件tab栏遇到的坑van-tabs

    背景: 使用uni-app开发微信小程序项目,使用的是Vant Weapp实现Tab标签页。 要实现跳转过来,显示默认的当前tab。 在app.json或index.json中引入组件 通过active设定当前激活标签对应的索引值,默认情况下启用第一个标签。 data中的属性 页面接受参数,默认显示对应的tab 问题 到此

    2024年02月10日
    浏览(34)
  • uniapp开发微信小程序使用高德地图

    uniapp  官方文档 地图组件控制  地图组件 高德地图key需要公司去申请,之后自己在下载高德地图微信小程序插件 下好的js文件放在项目中,之后在vue项目中的main.js文件中全局注入 页面引入并使用

    2024年02月15日
    浏览(80)
  • 开发微信小程序使用原生开发还是uniapp开发

    大家好,我是蔓云科技的小蔓(写代码的平面师)。 今天给大家带来一门知识普及课,开发小程序使用原生还是uniapp,如果你想开发一款小程序,通过这个视频你会得到答案。 相信大家对小程序都不陌生吧,在生活的方方面面中都有它的身影,比如:社区团购、商城购物、

    2024年02月17日
    浏览(35)
  • 使用uniapp开发微信小程序的微信支付流程

    在我们做一些购物车的结算功能时是一定会有支付功能的,那我们如何去做微信支付这个功能呢,首先我们先要理清思路,并且要了解到接口需要哪些数据以及会返回哪些数据 注意:一定要先看接口文档! 创建订单。 ○ 请求创建订单的 API 接口:把(订单金额、收货地址、

    2024年02月09日
    浏览(45)
  • uniapp开发微信小程序使用base64进行加密解密

    涉及场景:uniapp开发微信小程序需要使用base64进行加解密。 涉及依赖包:base-64,utf8 涉及到问题描述:首先尝试引入js-base64这个包,经过尝试后发现无法使用,为什么无法使用不晓得,没研究出来。再搜索中找到一篇关于《uniapp使用base64》的文章,文章中使用base64这个包,经

    2024年02月16日
    浏览(38)
  • 使用uniapp开发微信小程序的人脸采集功能/人脸识别功能

    ✅作者简介:大家好我是瓜子三百克,励志成为全栈工程师的一枚程序猿,也是喜欢在学习和开发中记录笔记的小白博主! 📃个人主页:瓜子三百克的主页 🔥系列专栏:uniapp前端 💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博主哦🤞 本篇文章

    2024年02月11日
    浏览(40)
  • uniapp开发微信小程序 ,使用本地图片做背景图应该怎么处理

    注意,把获取可用的base64地址的方法放在computed 里面是非常必要的。如果放在methods里面初次进入这个页面时候会报错(除了首页之外)。这里就是跟methods和computed特性有关。

    2024年02月16日
    浏览(38)
  • uniapp 开发微信小程序用相机拍照后使用Canvas翻转图片

    傻逼了,兄弟们,uniapp和微信都有一个专门调用手机拍照和相册的api ,拍完照片后会自动根据设备方向翻转,从而始终是正面。如果还想看canvas翻转下面也有    离谱,canvas实例要在onReady里面定义,我找了几个小时才找到。  由于开发需求是要竖着拍照横着返回,所以就必须

    2024年02月13日
    浏览(34)
  • uniapp开发微信小程序实现语音识别,使用微信同声传译插件,

    第一步:在微信小程序管理后台:“设置”-》“第三方设置”-》“插件管理”中添加插件。 但是这个地方,没有搜索到插件,就到微信服务市场 搜索到以后添加到需要的小程序里面,然后返回管理中心查看,就可以看到了 第二步:在配置文件中引入插件 第三步:在需要使

    2024年02月05日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包