微信小程序做一个Tab栏切换

在这里插入图片描述
在这里插入图片描述
内容:三个导航栏:附近,全部分类,排序

实现思路:
放两个view的盒子,上面的盒子放三个导航栏,下面放一个存放数据的盒子
下面存放数据的盒子用一个变量来判断是否显示,默认是隐藏,三个导航栏都有一个点击事件,点击的时候拿到对应的id,并且让下面的盒子显示,并且渲染对应id的数据就行了(改变wx:for循环渲染的内容)

 <view class='navbtns'>
    <view class='navitem nearby' bindtap='navitation' data-id='01'>
      附近
      <image src="{{selectedNav === '01' ? '../../images/arrow_up.png' : '../../images/arrow_down.png'}}"></image>
    </view>
    <view class='line'></view>
    <view class='navitem sort' bindtap='navitation' data-id='02'>
      全部分类
      <image src="{{selectedNav === '02' ? '../../images/arrow_up.png' : '../../images/arrow_down.png'}}"></image>
    </view>
    <view class='line'></view>
    <view class='navitem rank' bindtap='navitation' data-id='03'>
      排序
      <image src="{{selectedNav === '03' ? '../../images/arrow_up.png' : '../../images/arrow_down.png'}}"></image>
    </view>
  </view>

  <view class='wrap'>
    <view class='spinner' wx:if='{{showspinner}}'>
      <view class='items'>
        <block wx:for="{{spinners}}" wx:for-item='item' wx:key="item.id">
          <view class='item'>{{item.name}}</view>
        </block>
      </view>
    </view>
  </view>
navitation(event) {
        let id = event.currentTarget.dataset.id;
        const that = this;
        console.log(id);
        if (id == that.data.selectedNav) {
            id = '00';
            that.setData({
                showspinner: false,
            })
        } else {
            that.setData({
                showspinner: true,
            })
        }
        console.log(id);
        that.setData({
            selectedNav: id,
        })
        let temps = that.data.spinners;
        if (id == '02') {
            temps = that.data.sort;
        } else if (id == '03') {
            temps = that.data.rank;
        } else if (id == '01') {
            temps = that.data.nearby;
        }
        that.setData({
            spinners: temps,
        })

    },
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值