uni-app自定义tabbar(van-tabbar)

这篇具有很好参考价值的文章主要介绍了uni-app自定义tabbar(van-tabbar)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

main.vue

<template>
	<view>
		<index v-if="currentIndex === 0"></index>
		<signup v-else-if="currentIndex === 1"></signup>
		<test v-else-if="currentIndex === 2"></test>
		<custom-tabbar ref="tabBarComponent" @changeItem="changeItem"></custom-tabbar>
	</view>
</template>

<script>
	import signup from './signup/signup.vue'
	import test from './test.vue'
	import index from './index.vue'

	export default {
		components: {
			signup,
			test,
			index
		},
		data() {
			return {
				currentIndex: 0
			}
		},
		methods: {
			changeItem(item) {
				this.currentIndex = item
			}
		}
	}
</script>

<style scoped>
page{
			background-color: #f6f7fb;
		}
</style>

custom-tabbar

<template>
  <view>
    <van-tabbar :active="active" @change="onChange" :placeholder="true"  active-color="#3856ff" inactive-color="#666666">
      <van-tabbar-item v-for="(item, index) in list" :key="index" :icon="item.icon">
        {{ item.text }}
      </van-tabbar-item>
    </van-tabbar>
  </view>
</template>

<script>
export default {
  data() {
    return {
      active: 0,
      list: [
        {
          icon: 'home-o',
          text: '首页',
          url: '/pages/index'
        },
        {
          icon: 'search',
          text: '示例2',
          url: '/pages/signup/signup'
        },
        {
          icon: 'smile-o',
          text: '示例3',
          url: '/pages/test'
        }
      ]
    };
  },

  methods: {
    onChange(event) {
      this.active = event.detail;
	  this.$emit("changeItem",this.active);
      // uni.switchTab({
      //   url: this.list[event.detail].url
      // });
    },

    init() {
      const pages = getCurrentPages();
      const page = pages[pages.length - 1];
      this.active = this.list.findIndex(item => item.url === `/${page.route}`);
    }
  },

  mounted() {
    // this.init();
  }
};
</script>

全部菜单放在一个界面使用v-if显示隐藏的做法是因为单独页面的话第一次切换下标菜单栏会闪烁(但是使用v-if又要自定义导航栏,就…挺离谱的), 如果不使用这种v-if显示的话(单独页面)可以在每个菜单界面加上以下代码(会闪烁),如果大家有更好的方案可以交流一下文章来源地址https://www.toymoban.com/news/detail-828163.html

		<!-- 引入组件,并添加 ref 属性 -->
		<custom-tabbar ref="tabBarComponent"></custom-tabbar>
		
		onShow() {
			this.$refs.tabBarComponent.init();
		},
		// 解除下面的注释
		// uni.switchTab({
      //   url: this.list[event.detail].url
      // });

到了这里,关于uni-app自定义tabbar(van-tabbar)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 前端vue uni-app自定义精美海报生成组件

    在当前技术飞速发展的时代,软件开发的复杂度也在不断提高。传统的开发方式往往将一个系统做成整块应用,一个小的改动或者一个小功能的增加都可能引起整体逻辑的修改,从而造成牵一发而动全身的情况。为了解决这个问题,组件化开发逐渐成为了一种趋势。通过组件

    2024年02月14日
    浏览(41)
  • uni-app tabbar组件

    锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni-app简介、第2讲 uni-app环境搭建、第3讲 uni-app之HelloWorld实现等,

    2024年02月04日
    浏览(31)
  • uni-app 之 tabBar 底部切换按钮

    uni-app 之 tabBar 底部切换按钮 1693289945724.png // 常用颜色 // d81e06 紅 // #f4ea2a 黃 // #1afa29 綠 // #1296db 藍 // #13227a 青 // #d4237a 紫 // #ffffff 白 // #2c2c2c 黑

    2024年02月09日
    浏览(30)
  • uni-app动态tabBar,根据不同用户展示不同的tabBar

    因为我们用的是uni-app框架开发,所以在创建项目的时候直接创建uni-ui的项目即可,这个项目模板中自带了uni的一些好用的组件和api。 起初我想着这个效果不难实现,因为官方也有api可以直接使用,所以我最开始尝试就是使用uni的api完成,也就是这个 :uni.setTabBarItem(options) 我

    2024年02月09日
    浏览(28)
  • uni-app uni.switchTab和uni.reLaunch跳转tabbar页面

    uni.switchTab: 跳转列表不会刷新 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 uni.reLaunch: 跳转列表会刷新 关闭所有页面,打开到应用内的某个页面。( 可以跳转到tabBar 页面 ) 但如果是列表的自定义表头有多个title的时候需要加参数才能返回到对应的列表 如下图所示

    2024年02月11日
    浏览(34)
  • uni-app 实现凸起的 tabbar 底部导航栏

    效果图 在 pages.json 中设置隐藏自带的 tabbar 导航栏 新建一个 custom-tabbar.vue 自定义组件页面 底部安全区域的适配问题可查看:uni-app 苹果手机底部安全区域的适配问题 在 main.js 中引用组件 在要用到的页面中直接调用

    2024年02月07日
    浏览(41)
  • uni-app教程一(项目创建、tabbar配置、运行

    导入静态资源包(图片) 页面tabbar配置 { “pages”: [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages { “path”: “pages/index/index”, “style”: { “navigationBarTitleText”: “首页” } }, { “path”: “pages/news/news”, “style”: { “navigationBarTitleText”: “动态

    2024年04月23日
    浏览(22)
  • uni-app 中两个系统各自显示不同的tabBar

    最近在一个 uni-app 项目中遇到一个需求,在登录页面成功登录以后需要判断身份,不同的身份的进入不同的 tabBar 页面,但是在 uni-app 项目中 pages.json 中的 tabBar 的 list 数组只有一个,且不能写成动态的,那如何实现这个需求呢?答案是需要我们自定义 tabBar 。 目录 1、我们确定在

    2024年04月13日
    浏览(38)
  • 解决uni-app小程序原生tabbar 添加阴影问题

    下面是实现的效果  步骤1 创建一个组件  文件名和组件名要一致  步骤2  在组件中实现阴影效果 步骤3 在tabbar 页面使用  直接使用 即可 不用引入  

    2024年02月07日
    浏览(32)
  • 微信小程序开发学习笔记《17》uni-app框架-tabBar

    博主正在学习微信小程序开发,希望记录自己学习过程同时与广大网友共同学习讨论。建议仔细阅读uni-app对应官方文档 运行如下的命令,基于master分支在本地创建tabBar子分支,用来开发和tabBar相关的功能: 在 pages目录中,创建首页(home)、分类(cate)、购物车(cart)、我的(my)这4个

    2024年02月20日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包