我的编程空间,编程开发者的网络收藏夹
学习永远不晚

小程序怎么自定义tabBar组件封装

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

小程序怎么自定义tabBar组件封装

这篇文章主要介绍“小程序怎么自定义tabBar组件封装”,在日常操作中,相信很多人在小程序怎么自定义tabBar组件封装问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”小程序怎么自定义tabBar组件封装”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

具体内容如下

小程序怎么自定义tabBar组件封装

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

组件的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 class="lazy" data-src="{{tabbarIndex === index ? item.selectedIconPath : item.iconPath}}"></cover-image>  <cover-view >{{item.text}}</cover-view> </cover-view></cover-view>

组件的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;}

组件的index.js结构如下:

// pages/components/tabBar/index.jsComponent({    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,      })    },  }})

组件的index.json结构如下:

{  "component": true,  "usingComponents": {}}

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

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

页面的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>

页面的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)  }})

到此,关于“小程序怎么自定义tabBar组件封装”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

小程序怎么自定义tabBar组件封装

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

下载Word文档

猜你喜欢

小程序怎么自定义tabBar组件封装

这篇文章主要介绍“小程序怎么自定义tabBar组件封装”,在日常操作中,相信很多人在小程序怎么自定义tabBar组件封装问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”小程序怎么自定义tabBar组件封装”的疑
2023-06-25

微信小程序如何自定义tabbar组件

这篇文章主要讲解了“微信小程序如何自定义tabbar组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序如何自定义tabbar组件”吧!由于项目需求,必须自己写组件:第一步:在App
2023-06-14

微信小程序中怎么自定义tabBar

微信小程序中怎么自定义tabBar,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、前言很多时候,小程序自带的tabBar不能够满足项目需求,这个时候就需要我们自定义tabBa
2023-06-20

微信小程序怎么使用自定义组件封装原生image组件

本文小编为大家详细介绍“微信小程序怎么使用自定义组件封装原生image组件 ”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么使用自定义组件封装原生image组件 ”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习
2023-06-26

VantUI怎么封装自定义Tabbar路由跳转

本篇内容介绍了“VantUI怎么封装自定义Tabbar路由跳转”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!效果如下:在src目录下新建个c
2023-06-30

小程序自定义tabbar如何实现

小编给大家分享一下小程序自定义tabbar如何实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!tabBar如果小程序是一个多 tab 应用(客户端窗口的底部或顶
2023-06-26

小程序怎么封装组件

小编给大家分享一下小程序怎么封装组件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序封装组件具体实现步骤:1.新建component文件夹存放我们的组件,
2023-06-26

vue怎么自定义封装API组件

这篇文章主要介绍vue怎么自定义封装API组件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!自定义封装API组件1.创建vue组件