微信小程序开发-选项卡功能

微信小程序开发中经常用到选项卡,微信没有自带的选项卡,不过可以用其他的功能组合成选项卡,非常简单。


image.png

image.png

需要用到的功能:

1. 标签绑定数据及获取

data-current="" 绑定数据到标签中,获取:e.currentTarget.dataset.current;//获取到绑定的数据

2.catchtap 添加事件。
3.通过js数据值,判断需要显示隐藏或者是class样式

class='{{menuTapCurrent=="0"?"btn_selected":""}}'
hidden="{{menuTapCurrent!='0'}}"

原理很简单,设置一个数据,初始值给0,也就是选中第一个,如:选项卡三个按钮三个页面,数值设置0 、1、2 ;然后点击的时候获取标签中绑定的是几,然后对应设置数据为几,标签中样式和显示隐藏根据数据判断,绑定好。

// js
Page({
    data:{
        menuTapCurrent:0
    },
    // 点击按钮选项卡切换
    menuTap: function (e) {
        var current = e.currentTarget.dataset.current;//获取到绑定的数据
        //改变menuTapCurrent的值为当前选中的menu所绑定的数据
        this.setData({
            menuTapCurrent: current
        });
    }
});

//wxml
<view class="center_busLine">
    <!--按钮-->
    <view class="_header">
      <view class='{{menuTapCurrent=="0"?"btn_selected":""}}' data-current="0" catchtap="menuTap">
        <text>推荐线路</text>
      </view>
      <view class='{{menuTapCurrent=="1"?"btn_selected":""}}' data-current="1" catchtap="menuTap">
        <text>收藏</text>
      </view>
      <view class='{{menuTapCurrent=="2"?"btn_selected":""}}' data-current="2" catchtap="menuTap">
        <text>历史</text>
      </view>
    </view>
    <!--内容,可以选择包一起,我是直接少包了一层-->
    <view class="content" hidden="{{menuTapCurrent!='0'}}">
      
    </view>
    <view class="content" hidden="{{menuTapCurrent!='1'}}">
      
    </view>
    <view class="content" hidden="{{menuTapCurrent!='2'}}">
      
    </view>
</view>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,973评论 19 139
  • 给提问的开发者的建议:提问之前先查询 文档、通过社区右上角搜索搜索已经存在的问题。 写一个简明扼要的标题,并且...
    极乐叔阅读 13,777评论 0 3
  • 很久很久以前,在一个很遥远很遥远的地方,有一片迷雾森林,森林里有个精灵的王国,王国里的精灵们一直过着幸福的日子,每...
    这葫芦里阅读 564评论 2 1
  • 随着时光的流逝,我告别了昨天,开启了新的路程。我用自己的生命和宝贵的岁月为天元献上一份爱心,用自己勤劳的双手锦绣出...
    加了你阅读 1,392评论 0 0
  • 白果给我发短信说今晚的谈话,让他感觉像把自己扒光了丢进冰堆让人围观,这是对自己5年工作的否定,是对自己选择的鄙视,...
    漠然才七月阅读 452评论 0 3