小程序自定义tabbar—让你的小程序与众不同

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

前言

本篇文章将详细介绍微信小程序自定义tabbar的设置方法和注意事项,希望能够帮助广大开发者更好地开发和设计自己的微信小程序,实现更加个性化和独特的用户体验。

目录

前言

一、自定义tabbar设置的重要性

二、怎么设置自定义tabbar呢

第一步,配置信息

第二步,添加tabBar代码文件

第三步,编写tabBar代码

第四步,使用tabBar

三、注意事项


🔥  发本文章由猿梦_小星原创
📢 本文章主旨——讲解微信小程序自定义tabbar的设置方法和注意事项

🙏 希望这篇文章能够给您带来帮助,给小编 点赞👍+关注🧡+收藏🚩+评论💬

一、自定义tabbar设置的重要性

微信小程序是一种新型的应用程序,可以在微信内部直接运行,无需下载和安装,具有轻量、易开发、易传播等特点。作为一种新型的应用形态,微信小程序在近几年已经得到广泛应用和推广。然而,微信小程序的开发规范和限制也给开发者带来了很多挑战,其中之一就是原生tabbar的限制。

默认情况下,微信小程序的底部导航栏(也称tabbar)是固定的,开发者无法更改其样式和布局,也无法实现更加个性化和独特的设计。为了解决这个问题,开发者可以选择自定义tabbar,从而实现更加灵活和自由的设计。

总之呢,自定义tabbar是一种非常实用的功能,可以让微信小程序更加美观、灵活、个性化,提高用户体验和差异化竞争力。
微信小程序自定义tabbar,小程序,微信小程序,微信

 

二、怎么设置自定义tabbar呢

首先,我们来看以下官方给我们的文档:

自定义 tabBar | 微信开放文档 (qq.com)https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html定眼一看,是不是一头雾水,接下来,跟随小编一起来进行保姆级操作吧!

第一步,配置信息

注:这一步的操作呢,是必须的,一呢,是需要指定以下custom 字段,二呢,是为了如果自定义tabbar没有显示,那么现在设置的将会被显示。

在app.json中编写代码,如下:

  "tabBar": {
        "custom": true,
        "color": "#a5b5b5",
        "selectedColor": "#22cd5e",
        "borderStyle": "black" ,
        "list": [{
          "selectedIconPath": "images/tabBar/icon_1.png",
          "iconPath": "images/tabBar/icon_11.png",
          "pagePath": "pages/index/index",
          "text": "首页"
        }, {
          "selectedIconPath": "images/tabBar/icon_2.png",
          "iconPath": "images/tabBar/icon_22.png",
          "pagePath": "pages/messages/messages",
          "text": "消息"
        },{
          "selectedIconPath": "images/tabBar/icon_3.png",
          "iconPath": "images/tabBar/icon_33.png",
          "pagePath": "pages/lianPage/lianPage",
          "text": "我的"
        }
      ]
    },

按照平时设置tabbar的设置即可,记得要添加"custom": true字段。

第二步,添加tabBar代码文件

注:第二步代码和第三步代码在官方文档中给出的实例代码中复制即可。

在代码根目录下添加入口文件:

    custom-tab-bar/index.js
	custom-tab-bar/index.json
	custom-tab-bar/index.wxml
	custom-tab-bar/index.wxss

第三步,编写tabBar代码

wxml代码:

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

js代码:

Component({
  data: {
    selected: 0,
    color: "#a5b5b5",
    selectedColor: "#22cd5e",
    list: [{
      pagePath: "/pages/index/index",
      iconPath: "/image/tabBar/icon_11.png",
      selectedIconPath: "/image/images/tabBar/icon_1.png",
      text: "首页"
    },{
      pagePath: "/pages/messages/messages",
      iconPath: "/image/tabBar/icon_22.png",
      selectedIconPath: "/image/tabBar/icon_2.png",
      text: "消息"
    }{
      pagePath: "/pages/lianPage/lianPage",
      iconPath: "/image/tabBar/icon_33.png",
      selectedIconPath: "/image/tabBar/icon_3.png",
      text: "我的"
    }]
  },
  attached() {
  },
  methods: {
    switchTab(e) {
      const data = e.currentTarget.dataset
      const url = data.path
      wx.switchTab({url})
      this.setData({
        selected: data.index
      })
    }
  }
})

wxss代码:

.tab-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: white;
  display: flex;
  flex-direction: row;
  padding-bottom: env(safe-area-inset-bottom);
  pointer-events: auto;
}

.tab-bar-border {
  background-color: rgba(0, 0, 0, 0.33);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  transform: scaleY(0.5);

json代码:

{
  "component": true
}

第四步,使用tabBar

注:这里的给出的代码和官方给出的实例代码略有不同,区别在于,实例代码中所用的是Component组件生命周期,而我们常用的是page生命周期函数。

在每个tarbbar页面中的js文件下,添加如下代码:

onShow: function () {
    if (typeof this.getTabBar === 'function' &&  this.getTabBar()) {
      this.getTabBar().setData({
        selected: 1
      })
    }
  }

即可大功告成,这里所写的都是最基本设置自定义tabBar的方法,用户可以根据自己的需求来设置样式等等。

三、注意事项

  1. 需要隐藏原生tabbar:在使用自定义tabbar之前,需要先隐藏原生tabbar,否则会出现两个tabbar的情况,影响用户体验。可以在 app.js 中的 onLaunch 方法中调用 wx.hideTabBar() 方法隐藏原生tabbar。

  2. 自定义样式需要符合设计规范:虽然自定义tabbar可以更加灵活和自由地设计样式和布局,但是需要遵守微信小程序的设计规范,否则可能会被审核不通过。

  3. 处理页面切换的逻辑:在自定义tabbar中,需要处理页面切换的逻辑,可以使用 wx.switchTab() 方法实现页面切换。需要注意的是,如果使用 wx.navigateTo() 或 wx.redirectTo() 方法,会新开一个页面,而不是切换到已有页面。

  4. 需要处理不同页面间的状态:在使用自定义tabbar时,需要处理不同页面间的状态,例如在购物车页面添加商品时,需要在我的页面的购物车图标上添加未读消息数量。可以使用小程序的事件总线或其他状态管理工具来实现跨页面状态管理。

  5. 兼容性问题:自定义tabbar可能会存在兼容性问题,需要在不同的设备和平台上进行测试,确保兼容性。

综上所述,小程序自定义tabbar需要注意以上这些事项,才能更好地实现自定义tabbar功能,提升用户体验。

微信小程序自定义tabbar,小程序,微信小程序,微信

 

关注小编,下期带你看市面上常见的自定义tabbar样式。文章来源地址https://www.toymoban.com/news/detail-599035.html

到了这里,关于小程序自定义tabbar—让你的小程序与众不同的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 网工视角看基础网络,原来这么与众不同

    大家好,我是老杨。 前两天去华为生态大会刚回来,颇为感慨。 感慨万物互联的世界越来越大,网络渗透度也越来越极致化。 网络很大,非常大,但在网工眼里,网络复杂又美妙,有着外行人难以理解的魅力 想看我去这次大会到底逛了些啥的,可以看我的第二篇专门写的游

    2024年02月04日
    浏览(55)
  • 揭秘高级控件技巧:让您的App与众不同君子兰

    简介 APP 的控件元素不仅涵盖了基础用户界面操作,还包括用户与应用程序中更复杂、功能丰富的空间之间的互动。这种交互远不止于简单的按钮或输入框。通过借助 Appium 的 Actions,能够完成对应用程序进行手势识别的交互。这意味着可以通过各种手势,如滑动、缩放、长按

    2024年04月11日
    浏览(44)
  • 如何将Django中的管理端网站变得好看又与众不同

    在Django中,管理页面是管理数据的重要部分。通过管理页面可以轻松地添加、编辑和删除数据。然而,在默认情况下,Django的管理页面并不是最漂亮的。有些插件可以显著提高管理页面的外观和功能。本文将介绍一些Django管理页面好看的插件。 django-jet django-jet是一个非常强大

    2024年02月11日
    浏览(43)
  • 8年前端与众不同的Vue实战系列,助你成为前端顶级开发者

    目录 一、写这个Vue实战系列专栏的初衷 1. 帮朋友做推荐 2. 市面上卖源码的多,讲实战项目过程的少 3. 想到了自己刚毕业的时候 二、 本专栏的优势  1. 需求的适应性强 2. 技术主流  三、 读完本专栏,你可以得到什么 1. 帮朋友做推荐 我记得最初的时候,我也只是单纯的分享

    2024年02月02日
    浏览(58)
  • 9 个让你的 Python 代码更快的小技巧

    哈喽大家好,我是咸鱼 我们经常听到 “Python 太慢了”,“Python 性能不行”这样的观点。但是,只要掌握一些编程技巧,就能大幅提升 Python 的运行速度。 今天就让我们一起来看下让 Python 性能更高的 9 个小技巧 原文链接: https://medium.com/techtofreedom/9-fabulous-python-tricks-that-m

    2024年02月03日
    浏览(52)
  • 推荐5款让你的电脑更加有趣的小工具

    今天推荐的都是一些让你的电脑更加有趣的小工具,喜欢的可以自行在搜索引擎搜索下载。 TranslucentTB是一款用于电脑任务栏美化的软件,可以将Windows 10的任务栏设置成透明模式,透明状态下的任务栏,搭配一张好看的壁纸,视觉效果将超乎你的想象。这款软件本身的操作也

    2024年02月13日
    浏览(48)
  • 5款最新最实用的小软件,让你的工作和生活更轻松

    我喜欢发现和分享一些好用的软件,我觉得它们可以让我们的工作和生活更加轻松和快乐。今天给大家介绍五款我最近发现的软件, Screen To Gif是一款完全免费的GIF录制神器,可以让你轻松地录制屏幕、摄像头或画板的动画,并保存为GIF格式。你可以使用Screen To Gif来制作教程

    2023年04月22日
    浏览(88)
  • 自定义鼠标指针——让你的指针瞬间变美

    首先,在开始今天的内容之前,我们先来看一下上次投票结果: 很明显,我们的“2号选手”顺利夺得了第一。 好,二话不说,开启今天的内容。 先来看一下我的鼠标指针:(额,我是个MC党(注:上一篇博客发迷你世界抢滩登陆只是素材需要,不要喷))  玩过MC的应该都

    2024年02月08日
    浏览(36)
  • Vue自定义指令-让你的业务开发更简单

    在日常开发中,我们会将重复代码抽象为一个函数或者组件,然后在需要时调用或者引入。但是,对于某些功能,这种方法可能不够优雅或者不够灵活。例如,我们可能需要在DOM元素上添加一些自定义属性或者绑定一些事件,这些操作可能难以通过函数或组件来实现。这时,

    2024年02月08日
    浏览(65)
  • 微信突然限制,你的小程序链接还好吗?

    2020年12月,微信开放了小程序外部跳转能力,开发者可利用URL Scheme和URL Link实现小程序跳转,此功能对品牌私域流量运营至关重要。意味着微信生态逐步走向开放,除原有生态内的引流外,企业还可通过短信、邮件及其他外部应用程序快速完成小程序的跳转。 然而,大量小程

    2024年02月10日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包