小程序tab切换

wxml

<view class="swiper-tab">
	<view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">tab一</view>
	<view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">tab二</view>
</view>

<swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 31}}px" bindchange="bindChange">
	
	<swiper-item>
		<view>111</view>
	</swiper-item>

	<swiper-item>
		<view>222</view>
	</swiper-item>
	
</swiper>

wxss

.swiper-tab {
  width: 100%;
  border-bottom: 1rpx solid #f2f2f2;
  text-align: center;
  line-height: 100rpx;
  display: flex;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  background: #fff;
  box-shadow: 0px 5px 8px 0px rgba(75, 127, 205, 0.12);
}

.swiper-tab-list {
  width: 50%;
  font-size: 36rpx;
  display: inline-block;
  color: #777777;
}

.on {
  color: #da7c0c;
  border-bottom: 5rpx solid #da7c0c;
}

.swiper-box {
  display: block;
  height: 100%;
  width: 100%;
  overflow: hidden;
  margin-top: 140rpx;
}

.swiper-box view {
  text-align: center;
}

js

data: {
    winWidth: 0,
    winHeight: 0,
    // tab切换  
    currentTab: 0,
  },
  onLoad: function (options) {
    wx.getSystemInfo({
      success: (res) => {
        this.setData({
          winWidth: res.windowWidth,
          winHeight: res.windowHeight
        });
      }

    });
  },
  bindChange: function (e) {
    this.setData({
      currentTab: e.detail.current
    });

  },
  swichNav: function (e) {
    if (this.data.currentTab === e.target.dataset.current) {
      return false;
    } else {
      this.setData({
        currentTab: e.target.dataset.current
      })
    }
  },

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序中的TabBar是用于展示小程序的主要入口和导航栏,用户可以通过它在不同功能模块之间进行切换TabBar通常位于小程序底部,包含固定数量的选项卡,每个选项卡对应小程序的一个页面或功能。 以下是TabBar的基本使用和切换方法: 1. **配置TabBar**: 在`app.json`文件中,需要配置TabBar的项,包括标签名称、路径(对应的小程序页面路径)和图标等。每个TabBar项可以关联一个或多个页面。 ```json { "tabBar": { "color": "#666666", "selectedColor": "#007aff", "list": [ { "pagePath": "pages/index/index", "text": "首页", "iconPath": "path/to/icon.png" }, // 添加其他TabBar项... ] } } ``` 2. **页面跳转**: 在对应的页面内部,可以使用`wx.navigateTo`、`wx.reLaunch`、`wx.switchTab`等API来实现页面间的切换。`wx.switchTab`用于在已存在的TabBar项中切换页面。 ```javascript wx.switchTab({ url: 'pages/second/second' // 要切换到的页面路径 }) ``` 3. **动态显示与隐藏**: 可以根据业务逻辑动态设置TabBar的显示状态,比如某些功能在特定条件下不显示在TabBar上。 4. **监听事件**: TabBar支持自定义事件,可以通过`onTabItemTap`事件监听用户点击某个TabBar项。 5. **设置默认页**: 在`options.json`中可以设置默认加载的第一个页面,也可以在启动时通过`Page({})`配置。 ```javascript Page({ options: { tabBar: { selectedColor: '#007aff' } } }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值