iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >小程序自定义tabBar组件封装
  • 189
分享到

小程序自定义tabBar组件封装

2024-04-02 19:04:59 189人浏览 安东尼
摘要

本文实例为大家分享了小程序自定义tabBar组件封装的具体代码,供大家参考,具体内容如下 1、新建组件:在component下新建一个tabBar 2、组件的index.wxml结

本文实例为大家分享了小程序自定义tabBar组件封装的具体代码,供大家参考,具体内容如下

1、新建组件:在component下新建一个tabBar

2、组件的index.wxml结构如下:


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

3、组件的index.wxss结构如下:


.tab-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: white;
  display: flex;
  padding-bottom: env(safe-area-inset-bottom);
}

.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);
}

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

.tab-bar-item cover-image {
  width: 28px;
  height: 28px;
  margin-bottom: 2px;
}

.tab-bar-item cover-view {
  font-size: 10px;
}

4、组件的index.js结构如下:


// pages/components/tabBar/index.js
Component({
  
  options: {
    multipleSlots: true //在组件定义时的选项中启用多slot支持
  },
  properties: {
    list: {
      type: Array,
      value: []
    },
    selectedColor:{
      type: String,
      value:''
    },
    color:{
      type: String,
      value:''
    },
  },

  
  data: {
    tabbarIndex: 0//默认显示第一个tab元素
  },

  lifetimes: {
    attached() {}
  },

  
  methods: {
    //组件的点击事件
    tabChange(e) {
      //获取到底部栏元素的下标
      let index = e.currentTarget.dataset.index;
      this.setData({
        tabbarIndex:index,
      })
      //triggerEvent获取组件的事件
      //onMyEvent 页面传过来的点击事件名称
      this.triggerEvent('onMyEvent',{
        tabbarIndex:index,
      })
    },
  }
})

5、组件的index.JSON结构如下:


{
  "component": true,
  "usinGComponents": {}
}

6、组件在页面中的使用
7、页面的json代码如下:


{
  "navigationBarTitleText": "测试",
  "usingComponents": {
    "mp-tabbar": "../components/tabBar/index"
  }
}

8、页面的wxml代码如下:


//当选中tab1时页面显示的内容
<view wx:if="{{tabbarIndex == 0}}">111111</view>
//当选中tab2时页面显示的内容
<view wx:if="{{tabbarIndex == 1}}">222222</view>
//当选中tab3时页面显示的内容
<view wx:if="{{tabbarIndex == 2}}">333333</view>
<mp-tabbar list="{{list}}" id='tabComponent' bind:onMyEvent="tabChange"></mp-tabbar>

9、页面的js代码如下:


Page({
  data: {
    tabbarIndex:0,//默认第一个tab元素
    color: "#555555",
    selectedColor: "#2ea7e0",
    //底部栏
    list: [{
        "text": "市场",
        "iconPath": "/images/bazaar.png",
        "selectedIconPath": "/images/bazaar_selected.png",
      },
      {
        "text": "充值",
        "iconPath": "/images/recharge.png",
        "selectedIconPath": "/images/recharge_selected.png",
      }, {
        "text": "车队",
        "iconPath": "/images/market.png",
        "selectedIconPath": "/images/market_selected.png",
      }
    ]
  },
  
  onShow: function () {
    this.tabComponent = this.selectComponent('#tabComponent');
    let selectedColor = this.data.selectedColor;
    let color = this.data.color;
    this.tabComponent.setData({
      selectedColor: selectedColor,
      color:color
   })
   console.log(this.tabComponent.data.tabbarIndex)
  },
  //获取组件传递出来的数据
  tabChange:function(e){
    let index = e.detail.tabbarIndex;
    this.setData({
      tabbarIndex:index
    })
    console.log(e.detail.tabbarIndex)
  }
})

最终效果如图所示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 小程序自定义tabBar组件封装

本文链接: https://www.lsjlt.com/news/156451.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 小程序自定义tabBar组件封装
    本文实例为大家分享了小程序自定义tabBar组件封装的具体代码,供大家参考,具体内容如下 1、新建组件:在component下新建一个tabBar 2、组件的index.wxml结...
    99+
    2024-04-02
  • 小程序怎么自定义tabBar组件封装
    这篇文章主要介绍“小程序怎么自定义tabBar组件封装”,在日常操作中,相信很多人在小程序怎么自定义tabBar组件封装问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”小程序怎么自定义tabBar组件封装”的疑...
    99+
    2023-06-25
  • 微信小程序自定义tabbar组件
    本文实例为大家分享了微信小程序自定义tabbar组件的具体代码,供大家参考,具体内容如下 由于项目需求,必须自己写组件: 第一步:在App.json中配置tabBar,自定也组件也必...
    99+
    2024-04-02
  • 微信小程序如何自定义tabbar组件
    这篇文章主要讲解了“微信小程序如何自定义tabbar组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何自定义tabbar组件”吧!由于项目需求,必须自己写组件:第一步:在App...
    99+
    2023-06-14
  • 微信小程序自定义tabBar(实操)
    文章目录 一、前言二、固定效果图实现步骤实现步骤完整代码-矢量图images图片app.json代码 三、自定义效果图实现步骤实现步骤完整代码-矢量图images图片app.json代码custom-tab-bar下的...
    99+
    2023-08-20
    微信小程序 小程序 微信
  • 微信小程序怎么使用自定义组件封装原生image组件
    本文小编为大家详细介绍“微信小程序怎么使用自定义组件封装原生image组件 ”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么使用自定义组件封装原生image组件 ”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-06-26
  • 小程序自定义tabbar如何实现
    小编给大家分享一下小程序自定义tabbar如何实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!tabBar如果小程序是一个多 tab 应用(客户端窗口的底部或顶...
    99+
    2023-06-26
  • 小程序开发实战指南之封装自定义弹窗组件
    目录1、探讨需求封装popup自定义弹窗组件2、实战开发弹窗组件2.1 子组件内容 popup.vue文件2.2 父组件引用子组件3、效果图预览3.1 不使用具名插槽的原有样式效果3...
    99+
    2022-11-13
    微信小程序自定义弹窗组件 小程序组件使用 小程序如何封装组件
  • uniapp小程序开发组件封装之自定义轮播图效果
    目录前言:正文1、首先了解swiper组件1.1、小小的demo示例:1.2、自定义轮播图效果展示说明2、完成自定义轮播图效果3、组件封装——自定义轮播图3....
    99+
    2023-02-06
    uniapp自定义轮播图 uniapp小程序开发 uniapp组件封装
  • 微信小程序中怎么自定义tabBar
    微信小程序中怎么自定义tabBar,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、前言很多时候,小程序自带的tabBar不能够满足项目需求,这个时候就需要我们自定义tabBa...
    99+
    2023-06-20
  • Android自定义封装banner组件
    自定义封装 banner 组件,供大家参考,具体内容如下1. 效果图预览 2.基本功能一个简单方便的轮播图组件,基于viewpager 基础上进行的封装。可设置 项目中图片,网络图片, View;支持循环自动播放,手势滑动切换,i...
    99+
    2023-05-31
    android banner 组件
  • 小程序如何自定义组件
    本文小编为大家详细介绍“小程序如何自定义组件”,内容详细,步骤清晰,细节处理妥当,希望这篇“小程序如何自定义组件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一 小程序提供了很多api和基础组件,但为减少代码的复...
    99+
    2023-06-26
  • 【小程序】微信小程序自定义 tabbar以及隐藏有些页面的tabbar
    分析: 选中时显示背景和文字,图标变换为选中状态的图标默认状态下,进入小程序显示的是中间的 “地图”选中 “预约”时,隐藏tabbar ,且导航栏显示 返回 按钮,点击返回 “地图” 整体效果 整...
    99+
    2023-09-09
    微信小程序 小程序 前端
  • 微信小程序中使用 TDesign 自定义 TabBar
    文章目录 一、按照小程序官方文档配置 TabBar(app.json文件内)二、在小程序根目录(与 pages 平级)新建 custom-tab-bar(必须使用此名称) 文件夹三、右击 cu...
    99+
    2023-09-11
    微信小程序 tdesign 小程序
  • 小程序自定义tabbar—让你的小程序与众不同
    前言 本篇文章将详细介绍微信小程序自定义tabbar的设置方法和注意事项,希望能够帮助广大开发者更好地开发和设计自己的微信小程序,实现更加个性化和独特的用户体验。 目录 前言 一、自定义tabbar设置的重要性 二、怎么设置自定义t...
    99+
    2023-08-31
    小程序 微信小程序 微信
  • vue自定义封装按钮组件
    vue按钮组件的自定义封装代码,供大家参考,具体内容如下 封装按钮组件 button.vue <template> <button class="butto...
    99+
    2024-04-02
  • 微信小程序如何实现自定义组件封装及父子间组件传值
    小编给大家分享一下微信小程序如何实现自定义组件封装及父子间组件传值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先在我们可以直...
    99+
    2024-04-02
  • 【微信小程序】自定义组件(二)
    🎁写在前面: 观众老爷们好呀,这里是前端小刘不怕牛牛频道,小程序系列文章又更新了呀。 上文我们讲解了微信小程序自定义组件的入门知识,那么今天牛牛就来讲讲自定义组件的进阶知识吧,...
    99+
    2023-09-01
    微信小程序 小程序 前端
  • 【微信小程序】自定义组件(一)
    🎁写在前面: 观众老爷们好呀,这里是前端小刘不怕牛牛频道,小程序系列文章又更新了呀。 今天牛牛带来的是微信小程序的自定义组件入门知识,赶紧拿起小本本做笔记呀! ...
    99+
    2023-09-05
    微信小程序 前端 小程序
  • VantUI怎么封装自定义Tabbar路由跳转
    本篇内容介绍了“VantUI怎么封装自定义Tabbar路由跳转”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果如下:在src目录下新建个c...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作