美文网首页
微信 - 选项卡竖版

微信 - 选项卡竖版

作者: 赵羽珩 | 来源:发表于2019-03-06 14:25 被阅读0次

参考案例:美团App的城市列表


美团App的城市列表

这是我仿造的版本

image.png

代码wxml部分


<!--pages/首页_城市列表/首页_城市列表.wxml-->
<view style='height: 100rpx;background: red;'>搜索框</view>
<view class='interval_box'></view>
<view style='height: 100rpx;background: blue;'>当前定位城市: 图标 北京市</view>
<!-- 城市列表 -->
<view class='Ju_between' style='height: calc(100% - 220rpx);'>
    <view class='province_list'>
        <view class="{{cityTab==0 ? 'cityCur' : ''}}" data-current="0" bindtap="citySidebar">1推荐城市(热门)</view>
        <view class="{{cityTab==1 ? 'cityCur' : ''}}" data-current="1" bindtap="citySidebar">2北京</view>
        <view class="{{cityTab==2 ? 'cityCur' : ''}}" data-current="2" bindtap="citySidebar">3上海</view>
        <view class="{{cityTab==3 ? 'cityCur' : ''}}" data-current="3" bindtap="citySidebar">4天津</view>
        <view class="{{cityTab==4 ? 'cityCur' : ''}}" data-current="4" bindtap="citySidebar">5重庆</view>
    </view>
    <swiper class='city_list' current="{{cityTab}}" duration="0" vertical="ture">
        <swiper-item catchtouchmove="stopTouchMove">
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>aaaaaa</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
            <view>1111111</view>
        </swiper-item>
        <swiper-item catchtouchmove="stopTouchMove">
            <view>2222222</view>
        </swiper-item>
        <swiper-item catchtouchmove="stopTouchMove">
            <view>3333333</view>
        </swiper-item>
        <swiper-item catchtouchmove="stopTouchMove">
            <view>444444</view>
        </swiper-item>
        <swiper-item catchtouchmove="stopTouchMove">
            <view>5555555</view>
        </swiper-item>
    </swiper>
</view>

代码wxss部分

/* pages/首页_城市列表/首页_城市列表.wxss */

.Ju_between {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.province_list {
    height: 100%;
    width: 180rpx;
    background: #eee;
    overflow: scroll;
}

.city_list {
    height: 100%;
    background: #fff;
    width: 570rpx;
}

.cityCur {
    color: #23b8ff;
    font-weight: 600;
    /* 添加下划线 border-bottom: 5rpx solid #da7c0c; */
}

swiper-item {
    overflow: scroll;
}

代码js部分

// pages/首页_城市列表/首页_城市列表.js
Page({
    data: {
        // 城市列表 Tab切换 cur 下标 eq(0),这里首字母不能大写
        cityTab: 0,
    },
    //  城市列表  3月6日

    // 禁止"swiper"手动滑动
    stopTouchMove: function() {
        return false;
    },
    // 点击tab切换
    citySidebar: function(e) {

        var that = this;

        if (this.data.cityTab === e.target.dataset.current) {
            return false;
        } else {
            that.setData({
                cityTab: e.target.dataset.current
            })
        }
    }
})

讲解,代码在底下
重要的代码部分。我自己也不能完全理解

class="{{cityTab==0 ? 'cityCur' : ''}}" data-current="0" bindtap="citySidebar"
class="{{cityTab==1 ? 'cityCur' : ''}}" data-current="1" bindtap="citySidebar"
class="{{cityTab==2 ? 'cityCur' : ''}}" data-current="2" bindtap="citySidebar"
这里是重点
{{cityTab==0 ? 'cityCur' : '' 是被选中时的样式
data-current="0"是自定义的下标 eq(0)的感觉吧
bindtap="citySidebar"是点击事件bindtap执行citySidebar函数


<swiper class='city_list' current="{{cityTab}}" duration="0" vertical="ture">

<swiper>组件自带的属性名current意思是,当前所在滑块的 index
current="{{cityTab}}"也是下标,{{cityTab}}的取值,在js里面
<swiper>组件自带的属性名duration="0"意思是,滑动动画时长为0
<swiper>组件自带的属性名vertical="ture"意思是,滑动方向是否为纵向


<swiper-item catchtouchmove="stopTouchMove">是禁止< swiper>组件手动轮播

catchtouchmove="stopTouchMove"还要结合js里面函数,才能执行禁止

教程讲解https://www.2cto.com/kf/201804/737272.html

相关文章

网友评论

      本文标题:微信 - 选项卡竖版

      本文链接:https://www.haomeiwen.com/subject/qcbtpqtx.html