微信小程序自定义tabBar(边框圆角)

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

先看看自定义tabBar的效果

  微信小程序自定义tabBar(边框圆角)

 可能图片效果不是很明显,我用红框框出来了,这样看起来明显一点。

接下来就是具体步骤了

一、

 先在pages里建两个文件夹,我现在做的项目tabBar只有两个,所以我建了两个文件夹,如果大于两个用这个方法也可以,但是不能多于五个。

app.json中建立mine、和worktable(名字无所谓)

 微信小程序自定义tabBar(边框圆角)

 微信小程序自定义tabBar(边框圆角)

  "pages": [
    "pages/worktable/worktable",
    "pages/mine/mine"
  ]

 这就是在app.json中的pages的结果,会在pages文件夹中出现两个文件夹

微信小程序自定义tabBar(边框圆角)

 之后的步骤就是按照原先的步骤在app.json中键入以下代码

"tabBar": {
    "custom": true,
    "list": [{
      "pagePath": "pages/worktable/worktable",
      "text": "工作台"
    }, {
      "pagePath": "pages/mine/mine",
      "text": "我的"
      }]
  }

这样就会出现微信小程序本身自带的tabBar(底部导航栏)

注意:一定要在tabBar中加入"custom":"true",这样做的目的就是使原先的tabBar消失,为我们自己自定义tabBar做好铺垫

接下来开始自定义tabBar

首先在根目录建立一个文件夹名字为custom-tab-bar 必须为这个名字

步骤为  新建文件夹-新建Component

微信小程序自定义tabBar(边框圆角)

 

下面就是主要代码了

app.js中的代码:

  globalData: {
    selectedIndex:0,
  }

 

在custom-tab-bar/index.js中粘贴以下代码:

var app = getApp();
Component({
  data: {
    selected: '0',
    index:'0',
    color: "#7A7E83", // 颜色
    selectedColor: "#1E70E1", // 被选中颜色
    list: [{
        pagePath: "/pages/worktable/worktable",
        iconPath: "/assets/img/Working-Table/IconPathMenu.png",
        selectedIconPath: "/assets/img/Working-Table/SelectedIconPathMenu.png",
        text: "工作台"
      },
      {
        pagePath: "/pages/mine/mine",
        text: "我的",
        iconPath: "/assets/img/Working-Table/MineUnSelected .png",
        selectedIconPath: "/assets/img/Working-Table/MineSelected.png"
      }
    ]
  },
  attached() {},
  methods: {
    switchTab(e) {
      var url = e.currentTarget.dataset.path
      var index=e.currentTarget.dataset
      app.globalData.selectedIndex =e.currentTarget.dataset.index
      this.setData({
        selected: e.currentTarget.dataset.index
      })
      // 根据index判断,发布是渲染的时候是没有url的
      if (url) {
        wx.switchTab({
          url
        })
      }     
    }
  }
})

在custom-tab-bar/index.json中粘贴以下代码:

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

在custom-tab-bar/index.wxml中粘贴以下代码:

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

在custom-tab-bar/index.wxss中粘贴以下代码:

.tab-bar {
  border-top-left-radius: 50rpx;
  border-top-right-radius: 50rpx;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 168rpx;
  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;
  margin-top: -50rpx;
}

.tab-bar-item cover-image {
  width: 27px;
  height: 27px;
}

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

.CoverImg {
  margin-bottom: 10rpx;
}

这已经完成了很大一部分了,但是这些写完还会出现问题,就是点击tabBar确实是跳转了页面,但是样式还没有改变,必须点两次才能使样式改变。

看了网上很多的教程都没有说的很清楚

最最最最最最最最最最最最重要的就是:

微信小程序自定义tabBar(边框圆角)

在你要使用tabBar的页面的js文件中的onShow(){}中加入

这个是worktable中的

  onShow() {
    if (typeof this.getTabBar === 'function' &&
      this.getTabBar()) {
      this.getTabBar().setData({
        //唯一标识(其它设置不同的整数)  
        selected: 0
      })
    }
  }

          这个是mine.js中加入onShow(){}

  onShow() {
    if (typeof this.getTabBar === 'function' &&
      this.getTabBar()) {
      this.getTabBar().setData({
        //唯一标识(其它设置不同的整数)  
        selected: 1
      })
    }
  }

这就可以使用自定义的tabBar了

如果页面被影响了,就找到app.json中的"style": "v2",把"style": "v2",删除就可以了

微信小程序自定义tabBar(边框圆角)

这样我们自定义的tabBar就大功告成了。 这样就可以按照项目需求自定义自己的tabBar,不用苦恼的再去想如何去自定义taBbar了/文章来源地址https://www.toymoban.com/news/detail-482496.html

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

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

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

相关文章

  • 微信小程序自定义tabBar使用

    自定义使用tabbar步骤 文章目录 一、为什么要使用自定义tabBar? 二、使用步骤 总结 微信小程序官方默认的tabbar有很多局限性,比如无法调整图片和文字大小、不能动态调整个数等。 小程序开发版本:RC Build (1.06.2206271) 在小程序开发文档中找到指南--》基础能力--》自定义tab

    2024年02月09日
    浏览(51)
  • 微信小程序自定义tabBar简易实现

    index.wxml index.json index.js index.css 如果是componet的页面就直接再show中自己定义它的selected代表当前的选中态

    2024年02月03日
    浏览(41)
  • 微信小程序自定义tabbar闪烁问题

    闪烁问题原因:超过两个tabbar页不要单纯的使用官方说的show时getTabBar().setData设置选中态,自定义tabbar是多个实例的,那样只会改变当前tabbar实例的选中态,其他页面的tabbar实例并没有改变选中态。 解决tabbar闪烁问题: 1.在app.js中设置 globalData 2.在 custom-tab-bar/index.js 中设置

    2024年02月10日
    浏览(42)
  • 微信小程序自定义tabbar以及闪烁问题

    微信小程序的标题栏,具体描述不需要太多解释,但是很多时候,不满足于默认的配置的时候,需要我们手动的去绘制一个tabbar。比如一般社交平台软件会要求中间有一个突出的发布按钮,此时就需要重新定制下tabbar了 假设我们现在有这么一个需求,tabbar中的子项是根据ap

    2024年02月09日
    浏览(46)
  • 微信小程序使用uniapp自定义tabbar

    第一步:在pages.json里定义自己tabbar路径,定义的时候只需要写上页面路径即可  第二步:自定义tabbar页面,为了实现点击动作的动态效果,需要用到watch监听父组件传来的值的改变  自定义tabbar页面全部代码 注:该页面可以直接用组件的方式来放,因为uniapp支持easycom模式,

    2024年02月13日
    浏览(44)
  • 微信小程序子页面自定义tabbar组件

    有时候微信小程序会遇到代码合并,就比如把B小程序代码迁移到A小程序,要使得B作为A小程序的一个子页面子功能。因为本身小程序都有tabbar,原来B也有,这时候就要给B子功能自定义一个tabbar底部导航栏。(注意,这个不是微信小程序自定义tabBar,不需要app.json中设置一个

    2024年02月08日
    浏览(48)
  • 微信小程序自定义tabbar【中间凸起样式】

    效果预览 微信开发文档:自定义tabBar 一、配置信息 在 app.json 中的 tabBar 中指定 custom 字段为 true【允许使用自定义 tabBar】 在所有 tab 页 json 中申明usingComponents 项,或者在 app.json 中全局开启 在 list 中指定自己需要 tab 示例 二、添加 tabBar 代码文件 在代码根目录下添加custom-

    2024年02月10日
    浏览(44)
  • 【微信小程序】-- 案例 - 自定义 tabBar(四十六)

    💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘   大家好,又见面了,

    2024年02月03日
    浏览(48)
  • 微信小程序自定义tabBar,前端开发技能

    首页 分类 留言 我的 /components/index-tabbar/index.js Component({ properties: { active: { type: String, value: ‘index’ }, }, methods: { onChange(event) { wx.redirectTo({ url: /pages/${event.detail}/index , }) } } }) 模拟的 tabbar 页面写法如下: /pages/home/index.json { “usingComponents”: { “index-tabbar”: “/components/index-ta

    2024年04月22日
    浏览(36)
  • 微信小程序自定义 底部 tabbar (中间凸起)

    在与 pages 文件夹同级的地方新建 custom-tab-bar 文件夹,并新建 index.wxml 、index.wxss 、index.js 、index.json 四个文件夹 注意路径!!! 复制后会报错,把图片和页面路径改掉就好了!!! 提示: 不要无脑复制,复制到自己的项目中后记得更改图片、页面路径!!! 如需自定义 头

    2024年02月20日
    浏览(49)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包