小程序tab切换

在这里插入图片描述

<view class="flex">
      <view class="size-36 mlr-32 bold mtb-40">订单专区</view>
      <view wx:if="{{token}}" catchtap="getScore" class="relative" style="height:60rpx;">
        <image style="width:136rpx;height:148rpx;" mode="aspectFix" src="/assets/imgs/score-bg.png"></image>
        <view class="absolute w100" style="top:15rpx;left:0">
          <view class="white text-center bold">{{score}}</view>
          <view class="white text-center size-20">信用分</view>
        </view>
      </view>
    </view>
    <!-- tab -->
    <view class="flex_l plr-40">
      <view data-tab="1" bindtap="changeTab" class="mr-100 relative {{tab==1?'active':''}}">
        <view>抢单专区</view>
        <view class="red-point">11</view>
      </view>
      <view data-tab="2" bindtap="changeTab" class="ml-60 relative {{tab==2?'active':''}}">
        <view>指派专区</view>
        <view class="red-point">2</view>
      </view>
    </view>


.red-point {
  position: absolute;
  background: red;
  padding: 4rpx 10rpx;
  font-size: 24rpx;
  color: white;
  border-radius: 20rpx;
  left: 120rpx;
  top: -10rpx;
  line-height: 1;
}

.active {
  font-weight: 700;
}

.active::after {
  content: '';
  width: 50rpx;
  height: 6rpx;
  background: #0A9AF1;
  left: 50%;
  margin-left: -25rpx;
  bottom: -10rpx;
  display: block;
  position: relative;
  border-radius: 10rpx;
}

wxml

事件不能传参,要使用自定义属性传参
动态绑定类样式

<view class="circle">
    <!-- tab切换顶部 -->
    <view class="head">
        <ul class="tab flex">
            <li class="{{tab==1?'active':''}}" data-tab="1" bindtap="changeTab">关注</li>
            <li class="{{tab==2?'active':''}}" data-tab="2" bindtap="changeTab">圈子</li>
            <li class="{{tab==3?'active':''}}" data-tab="3" bindtap="changeTab">我的</li>
        </ul>
        <image class="right" src="{{imgurl}}c1.png" />
    </view>
    <!-- 三个组件 -->
    <com-circle wx:if="{{tab==2}}"></com-circle>
    <com-attention wx:if="{{tab==1}}"></com-attention>
    <com-my wx:if="{{tab==3}}"></com-my>
</view>
// pages/circle/circle.js
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    imgurl: app.globalData.imgurl, //全局img路径
    tab: 2, //tab切换  关注1  圈子2  我的3
  },
  // 点击tab切换事件
  changeTab(e) {
    console.log(e.target.dataset.tab);

    this.setData({
      tab: e.target.dataset.tab
    })
  },
{
  "usingComponents": {
    "com-circle": "./com_circle/com_circle",
    "com-attention": "./com_attention/com_attention",
    "com-my": "./com_my/com_my"
  },
  "navigationBarTitleText": "圈子"
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小曲曲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值