2020-06-11 16:12:04 +08:00
|
|
|
|
<template>
|
|
|
|
|
<view class="list">
|
2020-06-11 16:37:52 +08:00
|
|
|
|
<view class="top">
|
|
|
|
|
商品推荐
|
|
|
|
|
</view>
|
|
|
|
|
<view class="label">
|
2020-06-18 14:57:26 +08:00
|
|
|
|
<text v-for="item in classifyList" :key="item.gc_id">{{ item.gc_name }}</text>
|
2020-06-11 16:37:52 +08:00
|
|
|
|
</view>
|
|
|
|
|
<view class="item">
|
2020-06-18 14:57:26 +08:00
|
|
|
|
<item v-for="item in goodsList" :key="item.goods_id" :info="item"></item>
|
2020-06-11 16:37:52 +08:00
|
|
|
|
</view>
|
2020-07-16 17:39:06 +08:00
|
|
|
|
<!-- <view>
|
|
|
|
|
<u-tabs-swiper ref="uTabs" :list="tabList" :current="current" @change="tabsChange" :is-scroll="false"
|
|
|
|
|
swiperWidth="750" height="60"></u-tabs-swiper>
|
|
|
|
|
</view>
|
|
|
|
|
<swiper :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish" >
|
|
|
|
|
<swiper-item class="swiper-item" v-for="(_, index) in tabList" :key="index">
|
|
|
|
|
<scroll-view scroll-y style="height: 800rpx;width: 100%;">
|
|
|
|
|
<view class="item">
|
|
|
|
|
<item v-for="item in goodsList" :key="item.goods_id" :info="item"></item>
|
|
|
|
|
</view>
|
|
|
|
|
</scroll-view>
|
|
|
|
|
</swiper-item>
|
|
|
|
|
</swiper> -->
|
2020-06-11 16:12:04 +08:00
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
<script>
|
2020-06-11 16:37:52 +08:00
|
|
|
|
import item from "./item"
|
2020-06-11 16:12:04 +08:00
|
|
|
|
export default {
|
2020-07-16 17:39:06 +08:00
|
|
|
|
name:"list",
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
tabList: [{name: '推荐'}, {name: '推荐'}, {name: '推荐'}],
|
|
|
|
|
tabList: [],
|
|
|
|
|
current: 0,
|
|
|
|
|
swiperCurrent: 0,
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
},
|
2020-06-11 16:37:52 +08:00
|
|
|
|
components:{
|
|
|
|
|
item
|
2020-06-18 14:57:26 +08:00
|
|
|
|
},
|
|
|
|
|
props: {
|
|
|
|
|
classifyList: Array,
|
|
|
|
|
goodsList: Array,
|
2020-07-16 17:39:06 +08:00
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
// tabs通知swiper切换
|
|
|
|
|
tabsChange(index) {
|
|
|
|
|
this.swiperCurrent = index;
|
|
|
|
|
},
|
|
|
|
|
// swiper-item左右移动,通知tabs的滑块跟随移动
|
|
|
|
|
transition(e) {
|
|
|
|
|
let dx = e.detail.dx;
|
|
|
|
|
this.$refs.uTabs.setDx(dx);
|
|
|
|
|
},
|
|
|
|
|
// 由于swiper的内部机制问题,快速切换swiper不会触发dx的连续变化,需要在结束时重置状态
|
|
|
|
|
// swiper滑动结束,分别设置tabs和swiper的状态
|
|
|
|
|
animationfinish(e) {
|
|
|
|
|
let current = e.detail.current;
|
|
|
|
|
this.$refs.uTabs.setFinishCurrent(current);
|
|
|
|
|
this.swiperCurrent = current;
|
|
|
|
|
this.current = current;
|
|
|
|
|
},
|
2020-06-18 14:57:26 +08:00
|
|
|
|
}
|
2020-06-11 16:12:04 +08:00
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.list{
|
2020-06-11 16:37:52 +08:00
|
|
|
|
.top{
|
|
|
|
|
font-size: 30rpx;
|
|
|
|
|
height: 90rpx;
|
|
|
|
|
line-height: 90rpx;
|
|
|
|
|
text-align: center;
|
|
|
|
|
color: #333;
|
|
|
|
|
}
|
|
|
|
|
.label{
|
|
|
|
|
display: flex;
|
|
|
|
|
color: #999;
|
2020-06-18 14:57:26 +08:00
|
|
|
|
flex-wrap: wrap;
|
2020-06-11 16:37:52 +08:00
|
|
|
|
>text{
|
|
|
|
|
margin-right: 34rpx;
|
2020-06-18 14:57:26 +08:00
|
|
|
|
margin-bottom: 10rpx;
|
2020-06-11 16:37:52 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
.item{
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-wrap: wrap;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
|
|
|
|
|
}
|
2020-06-11 16:12:04 +08:00
|
|
|
|
}
|
|
|
|
|
</style>
|