• 小程序之——scroll-view实现左右滚动tab


    wxml:

    <scroll-view class="pick_tab_box" scroll-x>
        <view id='tabOne' class='{{currentTab === 0 ? "tab_active" : ""}} tabItem' bindtap='switchTab'>全部</view>
        <view id='tabTwo' class='{{currentTab === 1 ? "tab_active" : ""}} tabItem' bindtap='switchTab'>tab1</view>
        <view id='tabThree' class='{{currentTab === 2 ? "tab_active" : ""}} tabItem' bindtap='switchTab'>tab2</view>
        <view id='tabFour' class='{{currentTab === 3 ? "tab_active" : ""}} tabItem' bindtap='switchTab'>tab3</view>
        <view id='tabFive' class='{{currentTab === 4 ? "tab_active" : ""}} tabItem' bindtap='switchTab'>tab4</view>
        <view id='tabSix' class='{{currentTab === 5 ? "tab_active" : ""}} tabItem' bindtap='switchTab'>tab5</view>
    </scroll-view>

    wxss:

    .pick_tab_box {
      display: flex;
      align-items: center;
      white-space: nowrap;
       100%;
      background: white;
      margin:50rpx 0;
    }
    
    ::-webkit-scrollbar {
       0;
      height: 0;
      color: transparent;
    }
    
    .tabItem {
      box-sizing: border-box;
      padding: 20rpx 50rpx;
      display: inline-flex;
      justify-content: center;
      font-size: 30rpx;
    }
    
    .tab_active {
      color: #fa425f;
      border-bottom: 5rpx solid #fa425f;
    }
    

    tips1:如果最外面标签scroll-view上没有 white-space: nowrap;

    就变成

     没有左右滑动!

    tips2:下图标红的部分,用来消除滚动条

     

    tips3:如果每一项tab上没有 display: inline-flex;

     就会是这样的:

    js:

    data: {
        currentTab: 0, //按了哪个tab键
        status: 1//状态,接口需要的参数
      },
    //点击tab
      switchTab: function(e) {
        var nowTabId = e.target.id;//标签的id
        switch (nowTabId) {
          case "tabOne":
            this.setData({
              currentTab: 0,
              status: ""
            });
            //获取数据的方法可以写在这儿
            break;
          case "tabTwo":
            this.setData({
              currentTab: 1,
              status: 1
            });
            //获取数据的方法可以写在这儿
            break;
          case "tabThree":
            this.setData({
              currentTab: 2,
              status: 2
            });
            //获取数据的方法可以写在这儿
            break;
          case "tabFour":
            this.setData({
              currentTab: 3,
              status: 3
            });
            //获取数据的方法可以写在这儿
            break;
          case "tabFive":
            this.setData({
              currentTab: 4,
              status: 4
            });
            //获取数据的方法可以写在这儿
            break;
          case "tabSix":
            this.setData({
              currentTab: 5,
              status: 5
            });
            //获取数据的方法可以写在这儿
            break;
          case "tabSeven":
            this.setData({
              currentTab: 6,
              status: 6
            });
            //获取数据的方法可以写在这儿
            break;
          case "tabEight":
            this.setData({
              currentTab:7,
              status: 7
            });
            //获取数据的方法可以写在这儿
            break;
        }
      }            

    最终效果:

  • 相关阅读:
    Date类型转换成LocalDateTime 类型
    连接mysql数据库执行写入语句
    排序的的值为非数字时的处理方法
    git所遇到的问题
    visual studio快捷键
    Win10编译chromium
    下载chromium CIPD client失败的解决办法
    Linux内核源代码情景分析
    【赵强老师】史上最详细的PostgreSQL体系架构介绍
    3.Consul 安装配置(Proxysql+mgr)
  • 原文地址:https://www.cnblogs.com/zhaoyingzhen/p/11642920.html
Copyright © 2020-2023  润新知