uniapp 侧边选项卡(左右滚动)

26 篇文章 4 订阅

一、数据来自mock模拟数据(布局仿小米商城)

二、效果

三、代码

<template>
	<view class="pics">
		<scroll-view class="left" scroll-y>
			<view 
			@click="leftClickHandle(index,item.id)"
			:class="active===index?'active':''"
			v-for="(item,index) in leftMenuList" 
			:key="item.id">
			  {{item}}
			</view>
		</scroll-view>
		<scroll-view  v-if="refurbish" class="right" scroll-y 
        :scroll-top="scrollTop" 
        @scrolltolower="scrollLower" 
		scroll-with-animation>
			<view class="item" v-for="(item,index) in rightContent" :key="index">
				<text>{{item.cat_name}}</text>
				<view class="item-phone" v-for="(v,i) in item.children" :key="i" 
@tap="handleDetalis(`/pages/goodsList/goodsList?cid=${v.cat_id}`)">
					<view>
						<image :src="v.cat_icon"></image>
					</view>
					<view class="phone-r">
						<view>{{v.cat_name}}</view>
						<view>¥{{v.cat_money}}起</view>
					</view>
				</view>
			</view>
		</scroll-view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				//左侧菜单
				leftMenuList: [],
				//选择的状态
				active: 0,
				// 右侧数据
				rightContent: [],
				//接口返回数据
				cates:[],
				scrollTop:0,
                refurbish:true, //刷新数据
			}
		},
		onLoad () {
			// 1、获取本地存储中的数据
			const Cates = uni.getStorageSync('cates')
			if(!Cates) {
				this.getPicsCate()
			}else{
				//有旧的数据 定义过期时间
				if(Date.now() - Cates.time > 1000*10) {
					//重新请求
					this.getPicsCate()
				}else{
					//可以使用旧数据
					this.cates = Cates.data
					let leftMenuList = this.cates.map(v=>v.cat_name)
					this.leftMenuList = leftMenuList
					let rightContent = this.cates[0].children
					this.rightContent = rightContent
				}
			}
		},
		methods: {
            //获取数据
			getPicsCate () {
				uni.request({
					  url: '/data/list/tian',  
					  dataType: 'json',
					  method: 'GET',
					  success: (res)=>{
						 this.cates = res.data.message
						  //把接口数据存储到本地存储中
						 uni.setStorageSync('cates',{time:Date.now(),data:this.cates})
						 let leftMenuList = this.cates.map(v=>v.cat_name)
						 this.leftMenuList = leftMenuList
						 let rightContent = this.cates[0].children
						 this.rightContent = rightContent
					  }
				})
			},
            //左侧菜单点击事件
			leftClickHandle (index) {
				this.active = index
				let rightContent = this.cates[index].children
				this.rightContent = rightContent
				this.scrollTop = 0
                this.refurbish = false
				setTimeout(()=>{
					this.refurbish = true
				},1)
			},
            //跳转对应的id
            handleDetalis(url){
                  uni.navigateTo({
					url
				})  
            },
		}
	}
</script>

<style lang="scss">
scroll-view ::-webkit-scrollbar {  
	display: none !important;  
	width: 0 !important;  
	height: 0 !important;  
	-webkit-appearance: none;  
	background: transparent;  
}
page{
	overflow-y: hidden;
	height: 100%;
}
.pics{
	height: 100%;
	display: flex;
	.left{
		view:first-child{
			margin-top: 0rpx !important;
		}
		width: 200rpx;
		height: 100%;
		view{
			margin-top: 10rpx;
			height: 80rpx;
			line-height: 80rpx;
			color: #333;
			text-align: center;
			font-size: 24rpx;
		}
		.active{
			background:#F8F8F8;
			color: #000;
			font-weight: bold;
		}
	}
	.right{
		height: 100%;
		width: 520rpx;
		margin: 10rpx auto;
		.item{
			margin-top: 20rpx;
			> text {
				font-size: 20rpx;
				font-weight: bold;
			}
			.item-phone{
				margin-top: 20rpx;
				background-color: #F8F8F8;
				border-radius: 8rpx;
				padding: 10rpx;
				display: flex;
				align-items: center;
				view:first-child{
					image{
						width: 120rpx;
						height: 100rpx;
					}
				}
				.phone-r{
					margin-left: 15rpx;
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					view{
						font-size: 20rpx;
					}
					view:last-child{
						margin-top: 10rpx;
					}
				}
			}
		}
		.item:last-child{
			padding-bottom: 30rpx;
		}
	}
}
</style>

四、模拟数据

{
	"status": 0,
	"message": [
		{
			"cat_id": 1,
			"cat_name": "Xiaomi手机",
			"cat_pid": 0,
			"children": [
				{
					"cat_id": 3,
					"cat_name": "Xiaomi Civi",
					 "children": [
						{
							"cat_id": 5,
							"cat_name": "Xiaomi Civi 1S",
							"cat_money": 2299,
							"cat_icon": "https://shopstatic.vivo.com.cn/vivoshop/commodity/36/10007336_1650358109769_750x750.png.webp"
						 },
						 {
							"cat_id": 6,
							"cat_name": "Xiaomi Civi",
							"cat_money": 2099,
							"cat_icon": "https://shopstatic.vivo.com.cn/vivoshop/commodity/36/10007336_1650358095399_750x750.png.webp"
						 }
					 ]
				},
				{
					"cat_id": 7,
					"cat_name": "Xiaomi 数字系列",
					"children": [
						{
							"cat_id": 23,
							"cat_name": "Xiaomi 12S Ultra",
							"cat_money": 5999,
							"cat_icon": "https://shopstatic.vivo.com.cn/vivoshop/commodity/11/10007411_1652682629904_750x750.png.webp"
						 },
						 {
							"cat_id": 24,
							"cat_name": "Xiaomi 11",
							"cat_money": 4699,
							"cat_icon": "https://shopstatic.vivo.com.cn/vivoshop/commodity/75/10007475_1653651557950_750x750.png.webp"
						 },
						 {
							"cat_id": 25,
							"cat_name": "xiaomi 10 青春版 5G",
							"cat_money": 2299,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/e813ca2ccc6708077b17dacbdf1d1465.jpg"
						 },
						 {
							"cat_id": 26,
							"cat_name": "xiaomi 11 青春活力版",
							"cat_money": 2299,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207011841_084ed41d67f248677914605b73faf582.png"
						 }
					]
				},
				{
					"cat_id": 30,
					"cat_name": "Xiao MIX系列",
					"children": [
						{
							"cat_id": 42,
							"cat_name": "Xiaomi MIX 4",
							"cat_money": 4199,
							"cat_icon": "https://shopstatic.vivo.com.cn/vivoshop/commodity/36/10007336_1650358109769_750x750.png.webp"
						 },
						 {
							"cat_id": 43,
							"cat_name": "Xiaomi MIX Alpha",
							"cat_money": 19999,
							"cat_icon": "https://shopstatic.vivo.com.cn/vivoshop/commodity/09/10007209_1647845438443_750x750.png.webp"
						 }
					]
				}
			]
		},
		{
			"cat_id": 55,
			"cat_name": "Redmi手机",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 69,
					"cat_name": "Note系列",
					"cat_money": 55,
					"children": [
						{
							"cat_id": 72,
							"cat_name": "Redmi Note 11T Pro+",
							"cat_money": 2099,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207012022_19bbddb6b35c3828f8b53f450c1519a3.png"
						},
						 {
							"cat_id": 73,
							"cat_name": "Redmi Note 11T Pro",
							"cat_money": 1799,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/cbadf8917627a3a80cc61f3d95f48cfb.png"
						}
					]
				},
				{
					"cat_id": 1007,
					"cat_name": "K 系列",
					"cat_money": 55,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 42,
							"cat_name": "Redmi K50 Pro",
							"cat_money": 2999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207011841_084ed41d67f248677914605b73faf582.png"
						 },
						 {
							"cat_id": 43,
							"cat_name": "Redmi K50 ",
							"cat_money": 2399,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207012022_19bbddb6b35c3828f8b53f450c1519a3.png"
						 },
						 {
							"cat_id": 44,
							"cat_name": "Redmi K40s ",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207012022_19bbddb6b35c3828f8b53f450c1519a3.png"
						 },
						 {
							"cat_id": 45,
							"cat_name": "Redmi K40 ",
							"cat_money": 1599,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207012022_19bbddb6b35c3828f8b53f450c1519a3.png"
						 }
					]
				},
				{
					"cat_id": 1008,
					"cat_name": "数字系列",
					"cat_money": 56,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 44,
							"cat_name": "Redmi K50 Pro",
							"cat_money": 2999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207011841_084ed41d67f248677914605b73faf582.png"
						 },
						 {
							"cat_id": 45,
							"cat_name": "Redmi K50 ",
							"cat_money": 2399,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207012022_19bbddb6b35c3828f8b53f450c1519a3.png"
						 }
					]
				}
			]
		},
		{
			"cat_id": 71,
			"cat_name": "游戏手机",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 89,
					"cat_name": "游戏手机",
					"cat_money": 71,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "黑鲨5 Pro",
							"cat_money": 3799,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207011841_084ed41d67f248677914605b73faf582.png"
						},
						 {
							"cat_id": 96,
							"cat_name": "k50 电竞版",
							"cat_money": 2399,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1569297737.97669352.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "黑鲨5 RS",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/cbadf8917627a3a80cc61f3d95f48cfb.png"
						},
						{
							"cat_id": 98,
							"cat_name": "黑鲨5 ",
							"cat_money": 2199,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/b3d41aa1a9cc51c3c943d5ed9fd70101.png"
						},
						{
							"cat_id": 99,
							"cat_name": "黑鲨4",
							"cat_money": 2099,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202205221513_4a54fc6db0b3bb27b77c5bab1d11b26d.png"
						}, 
						{
							"cat_id": 100,
							"cat_name": "黑鲨4S",
							"cat_money": 2199,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207011810_86ad513472d1423a3fdec8d7d5107038.png"
						},
						{
							"cat_id": 101,
							"cat_name": "Redmi k40 游戏增强版",
							"cat_money": 2799,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/4e75e528fb468aee107f551179aa0799.jpg"
						},
						{
							"cat_id": 102,
							"cat_name": "黑鲨4 Pro",
							"cat_money": 2699,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202205221513_4a54fc6db0b3bb27b77c5bab1d11b26d.png"
						}, 
						{
							"cat_id": 103,
							"cat_name": "黑鲨4S",
							"cat_money": 2199,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207011810_86ad513472d1423a3fdec8d7d5107038.png"
						}
					]
				}
			]
		},
		{
			"cat_id": 72,
			"cat_name": "电脑平板",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 94,
					"cat_name": "小米平板",
					"cat_money": 72,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "小米平板5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 96,
							"cat_name": "小米平板5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "小米平板5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 98,
							"cat_name": "小米灵感触控笔",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "笔记本",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "Xiaomi Book Pro 14 2022",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "Xiaomi Book Pro 16 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "RedmiBook Pro 15 锐龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "Redmi Book Pro 15 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "小米笔记本 Pro 15 增强版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 73,
			"cat_name": "智能穿戴",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 95,
					"cat_name": "近期上新",
					"cat_money": 73,
					"children": [
						{
							"cat_id": 96,
							"cat_name": "小米平板5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 97,
							"cat_name": "小米平板5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 98,
							"cat_name": "小米平板5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 99,
							"cat_name": "小米灵感触控笔",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "笔记本",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "Xiaomi Book Pro 14 2022",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "Xiaomi Book Pro 16 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "RedmiBook Pro 15 锐龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "Redmi Book Pro 15 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "小米笔记本 Pro 15 增强版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 77,
			"cat_name": "电视",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 100,
					"cat_name": "电视",
					"cat_money": 77,
					"children": [
						{
							"cat_id": 101,
							"cat_name": "小米平板5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 102,
							"cat_name": "小米平板5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 103,
							"cat_name": "小米平板5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 104,
							"cat_name": "小米灵感触控笔",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "笔记本",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "Xiaomi Book Pro 14 2022",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "Xiaomi Book Pro 16 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "RedmiBook Pro 15 锐龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "Redmi Book Pro 15 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "小米笔记本 Pro 15 增强版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 81,
			"cat_name": "大家电",
			"children": [
				{
					"cat_id": 94,
					"cat_name": "大家电",
					"cat_money": 72,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "大家电5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 96,
							"cat_name": "大家电5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "大家电5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 98,
							"cat_name": "大家电",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "大家电",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "Xiaomi Book Pro 14 2022",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "Xiaomi Book Pro 16 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "RedmiBook Pro 15 锐龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "Redmi Book Pro 15 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "小米笔记本 Pro 15 增强版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 76,
			"cat_name": "小家电",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 94,
					"cat_name": "厨房小电",
					"cat_money": 72,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "小家电5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 96,
							"cat_name": "小家电5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "小家电5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 98,
							"cat_name": "小家电",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "小家电",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "Xiaomi小家电",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "B小家电",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "R小家电",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "R小家电",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "小家电 增强版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 77,
			"cat_name": "智能家居",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 94,
					"cat_name": "智能家居",
					"cat_money": 72,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "智能家居5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 96,
							"cat_name": "智能家居5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "智能家居5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 98,
							"cat_name": "智能家居",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "智能家居",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "智能家居 Book2",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "智能家居022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "智能家居 P龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "智能家居",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "智能家居",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 78,
			"cat_name": "出行运动",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 94,
					"cat_name": "出行运动",
					"cat_money": 72,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "出行运动5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 96,
							"cat_name": "出行运动5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "出行运动5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 98,
							"cat_name": "出行运动",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "出行运动",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "出行运动Pro 14 2022",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "出行运动2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "出行运动锐龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "Re出行运动2",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "小出行运动版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 79,
			"cat_name": "日用百货",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 94,
					"cat_name": "日用百货",
					"cat_money": 72,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "小米平板5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 96,
							"cat_name": "小米平板5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "小米平板5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 98,
							"cat_name": "小米灵感触控笔",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "笔记本",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "Xiaomi Book Pro 14 2022",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "Xiaomi Book Pro 16 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "RedmiBook Pro 15 锐龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "Redmi Book Pro 15 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "小米笔记本 Pro 15 增强版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 80,
			"cat_name": "儿童用品",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 94,
					"cat_name": "儿童用品",
					"cat_money": 72,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "儿童用品5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 96,
							"cat_name": "儿童用品5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "小儿童用品",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 98,
							"cat_name": "小儿童用品笔",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "儿童用品",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "Xi儿童用品022",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "Xia儿童用品022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "R儿童用品龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "儿童用品2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "儿童用品5 增强版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 81,
			"cat_name": "有品精选",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 94,
					"cat_name": "有品精选",
					"cat_money": 72,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "小米平板5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 96,
							"cat_name": "小米平板5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "小米平板5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 98,
							"cat_name": "小米灵感触控笔",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "笔记本",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "Xiaomi Book Pro 14 2022",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "Xiaomi Book Pro 16 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "RedmiBook Pro 15 锐龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "Redmi Book Pro 15 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "小米笔记本 Pro 15 增强版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 82,
			"cat_name": "小米服务",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 94,
					"cat_name": "小米服务",
					"cat_money": 72,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "小米平板5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 96,
							"cat_name": "小米平板5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "小米平板5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 98,
							"cat_name": "小米灵感触控笔",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "笔记本",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "Xiaomi Book Pro 14 2022",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "Xiaomi Book Pro 16 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "RedmiBook Pro 15 锐龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "Redmi Book Pro 15 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "小米笔记本 Pro 15 增强版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		},
		{
			"cat_id": 83,
			"cat_name": "促销特惠",
			"cat_money": 0,
			"children": [
				{
					"cat_id": 94,
					"cat_name": "促销特惠",
					"cat_money": 72,
					"children": [
						{
							"cat_id": 95,
							"cat_name": "小米平板5",
							"cat_money": 1999,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/7d4b9d5790e07d2fe68864f76095ec56.jpg"
						},
						 {
							"cat_id": 96,
							"cat_name": "小米平板5 Pro 5G",
							"cat_money": 3499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1640767473.19941710.jpg"
						},
						{
							"cat_id": 97,
							"cat_name": "小米平板5 Pro",
							"cat_money": 2499,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598862.59259381.png"
						},
						{
							"cat_id": 98,
							"cat_name": "小米灵感触控笔",
							"cat_money": 349,
							"cat_icon": "https://cdn.cnbj0.fds.api.mi-img.com/b2c-shopapi-pms/pms_1628598434.12973830.png"
						}
					]
				},
				{
					"cat_id": 91,
					"cat_name": "笔记本",
					"cat_money": 72,
					"cat_icon": "https://api-hmugo-web.itheima.net/full/dec71b02fc79cd5c3cf2f596f5fc40f2ae90ba15.jpg",
					"children": [
						{
							"cat_id": 102,
							"cat_name": "Xiaomi Book Pro 14 2022",
							"cat_money": 91,
							"cat_icon": "https://api-hmugo-web.itheima.net/full/2fb113b32f7a2b161f5ee4096c319afedc3fd5a1.jpg"
						 },
						 {
							"cat_id": 103,
							"cat_name": "Xiaomi Book Pro 16 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/2646f1fdf7186b0efa4f0d0c32622874.jpg"
						 },
						 {
							"cat_id": 104,
							"cat_name": "RedmiBook Pro 15 锐龙版",
							"cat_money": 91,
							"cat_icon": "https://i8.mifile.cn/b2c-mimall-media/9b232bbf863196f3a76094b538442d13.jpg"
						 },
						 {
							"cat_id": 105,
							"cat_name": "Redmi Book Pro 15 2022",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/01d9571051a91e540e5c644fa60cc858.jpg"
						 },
						 {
							"cat_id": 106,
							"cat_name": "小米笔记本 Pro 15 增强版",
							"cat_money": 91,
							"cat_icon": "https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/44d8d53f2f4122a0e6f3440149271f52.jpg"
						 }
					]
				}
			]
		}
	]
}

效果二 :左侧点击对应右侧位置,右侧滑动对应左侧菜单

代码如下:

<template>
	<view class="classify-container">
		<view class="container-header">
			<swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000"
				indicator-color="rgba(255,255,255,0.5)" indicator-active-color="#fff">
				<swiper-item v-for='(item,index) in 8' :key='index'>
					<view class="swiper-item">
						<image class='swiper-img' src="https://yanxuan.nosdn.127.net/static-union/16805163298d320c.jpg"
							mode="aspectFill"></image>
					</view>
				</swiper-item>
			</swiper>
		</view>
		<view class="container" :style="'height:'+rightScrollMain+'px;'">
			<view class="main" :style="'height:'+rightScrollMain+'px;'">
				<view class="main_left">
					<view v-for="(item,index) in allData" :key="id" class="left_item"
						:class="mainLeftIndex == index ? 'left_item_active' : ''" @click="mainLeftItemTap(index)">
						{{item.name}}
					</view>
				</view>
				<scroll-view class="main_right" scroll-y scroll-with-animation :style="'height:'+rightScrollMain+'px;'"
					:scroll-into-view="intoViewId" @scroll="rightScroll">
					<view class="main_right_box" v-for="(item,index) in allData" :key="item.id"
						:id="'scroll' + item.id">
						<view class="right_tap">
							{{item.name}}
						</view>
						<view class="right_item" v-for="(item,index) in item.list" :key="listId">
							<view class="item_img_box">
								<image class="item_img" :src="item.phoneImg" mode="" />
							</view>
							<view class="item_right">
								<view class="right_title">{{item.title}}</view>
								<view class="right_price">
									¥{{item.price}}
								</view>
								<view class="right_bottom">
									<view class="bottom_left">
										5折
									</view>
									<view class="bottom_right">+</view>
								</view>
							</view>
						</view>
					</view>
				</scroll-view>
			</view>
		</view>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				allData: [{
						name: 'Xiaomi手机',
						id: 1111,
						list: [{
								title: 'Xiaomi 13',
								price: 4999,
								listId: 1523,
								phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202211292343_1fb2e2ce696643e2e9e863f69cdaf781.png'
							},
							{
								title: 'Xiaomi 13 限量定制色',
								price: 3999,
								listId: 1523,
								phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202211292351_92aba2c69123166a74ba2e2b525b1ae2.png'
							},
							{
								title: 'Xiaomi 12S Ultra',
								price: 4999,
								listId: 1523,
								phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207011810_86ad513472d1423a3fdec8d7d5107038.png'
							}, {
								title: 'Xiaomi 12S Pro',
								price: 5999,
								listId: 23,
								phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202207012000_0b9df066c110f201154013ac373df1d9.png'
							}, {
								title: 'Xiaomi 12S',
								price: 4099,
								listId: 14,
								phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202211292351_92aba2c69123166a74ba2e2b525b1ae2.png'
							}, {
								title: 'Xiaomi 12 Pro 天玑版',
								price: 4199,
								listId: 13,
								phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/eac4850d9dbc5305b1298b8c1c686c17.png'
							}, {
								title: 'Xiaomi 12 Pro',
								price: 3199,
								listId: 112,
								phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/bec639601906ed7649970c6ab311f992.png'
							}
						]
					},
					{
						name: 'Redmi手机',
						id: 2222,
						list: [{
							title: 'Redmi K60 Pro',
							price: 3299,
							listId: 15223,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202212261456_d20c10733b97c9395bd05c97092a4120.png'
						}, {
							title: 'Redmi K60',
							price: 2499,
							listId: 223,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/nr-pub/202212261429_eb1f972370482850735ca16e2121dd08.png'
						}, {
							title: 'Redmi K50 Pro',
							price: 2699,
							listId: 124,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/bfe68c63caca6622d1673efa7d7e7a7d.png'
						}, {
							title: 'Redmi K50',
							price: 2099,
							listId: 133,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/268eb39e48af6bb86e448e143a119eea.png'
						}, {
							title: 'Redmi K40S',
							price: 100,
							listId: 13132,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/8705d355125196baa7f8c2df87936290.png'
						}]
					},
					{
						name: '游戏手机',
						id: 3333,
						list: [{
							title: '黑鲨5/黑鲨5 高能版',
							price: 2599,
							listId: 15233,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/ef619ad3807b50ab8f6d12656fcc3721.png'
						}, {
							title: '黑鲨5 Pro',
							price: 4199,
							listId: 233,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/29d255503783b6838beee713dd5630ec.png'
						}, {
							title: '黑鲨5 RS',
							price: 2799,
							listId: 144,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/f77f2b5c0a09d53f739e1cffe3394ca3.png'
						}, {
							title: 'K50 电竞版',
							price: 3299,
							listId: 135,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/f5d5806d6807671fd2a28d9a944b5358.png'
						}, {
							title: '黑鲨5/黑鲨5 高能版',
							price: 2599,
							listId: 1124,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/f77f2b5c0a09d53f739e1cffe3394ca3.png'
						}, {
							title: '黑鲨5 Pro',
							price: 4199,
							listId: 233,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/f77f2b5c0a09d53f739e1cffe3394ca3.png'
						}, {
							title: '黑鲨5 RS',
							price: 4199,
							listId: 233,
							phoneImg: 'https://cdn.cnbj1.fds.api.mi-img.com/mi-mall/f77f2b5c0a09d53f739e1cffe3394ca3.png'
						}]
					}
				], // 所有产品数据
				mainLeftIndex: 0, // 左边高亮下标
				intoViewId: null, // 滚动到指定位置id
				mainDistance: 0, // 存放滚动的高度
				heightArr: [], // 存放每个类目的高度
				heightNumber: 0, // 一次递增的累积高度
				windowHeight: 0,
				rightScrollMain: 0,
			}
		},
		methods: {
			// 获取所有商品数据
			getProductAllData() {
				let heightArr = [] 
				let heightNumber = 0 // 一次递增的累积高度
				const _dataLength = this.allData.length // 类目数量
				for (let i = 0; i < _dataLength; i++) {
					// 50 为类目的标题高度 200 为每个产品的高度
					let height = 50 + (200 * this.allData[i].list.length)
				 // 我们与上一个高度相加
					heightNumber += height
					// +=  等于  heightNumber = heightNumber + height
					// 因为我们设置的是rpx,我们需要将rpx转成px
					heightArr.push(this.rpxTopx(heightNumber))
				}
				this.heightArr = heightArr
			},
			// rpx转px
			rpxTopx(rpx) {
				const screenWidth = uni.getSystemInfoSync().screenWidth
				return (screenWidth * Number.parseInt(rpx)) / 750
			},
			// 导航左边点击
			mainLeftItemTap(idx) {
				this.mainLeftIndex = idx
				this.intoViewId = 'scroll' + this.allData[idx].id
			},
			// 右侧滚动触发
			rightScroll(e) {
				const {
					scrollTop
				} = e.detail
				let _index = this.mainLeftIndex // 左边的高亮下标
				if (scrollTop > this.mainDistance) { // 如果大于mainDistance表示用户上滑
					if (_index + 1 < this.heightArr.length && scrollTop >= this.heightArr[_index]) {
						this.mainLeftIndex = _index + 1
					}
				} else { // 用户下滑
					// 先判断下标-1要大于0(左边标签第一个时就不减了)
					// 再判断用户滚动高度是否小于下标上一个总高度,如果小于就-1
					if (_index - 1 >= 0 && scrollTop < this.heightArr[_index - 1]) {
						this.mainLeftIndex = _index - 1
					}
				}
				this.mainDistance = scrollTop // 最后我们才赋值
			},
		},
		onLoad() {
			this.getProductAllData();
			uni.getSystemInfo({
				success: (res) => {
					console.log(res.windowHeight); // 可使用窗口高度,不包含导航栏
					this.windowHeight = res.windowHeight
				}
			})
		},
		onReady() {
			const query = uni.createSelectorQuery().in(this);
			query.select('.container-header').boundingClientRect(data => {
				this.rightScrollMain = this.windowHeight - data.height
			}).exec();
		}
	}
</script>
<style lang="scss">
	.classify-container {
		.container-header {
			swiper {
				width: 100%;
				height: 360rpx;
			}

			.swiper-img {
				width: 100%;
				height: 360rpx;
			}
		}
	}

	.container {
		--borderColor: rgba(230, 224, 224, 0.733);
		border-radius: 10rpx 10rpx 0 0;
		margin-top: -10rpx;
		background-color: #fff;
		font-size: 32rpx;

		.cont_title {
			width: 140rpx;
			height: 80rpx;
			line-height: 80rpx;
			text-align: center;
			border-bottom: 6rpx solid #000;
			margin: 0 auto;
			font-weight: 500;
			font-size: 36rpx;
			box-sizing: border-box;
		}

		.cont_info {
			width: 100%;
			display: flex;
			justify-content: space-between;
			padding: 0 20rpx;
			box-sizing: border-box;
			height: 80rpx;
			line-height: 80rpx;
			border-bottom: 2rpx solid var(--borderColor);

			.info_left {
				color: gray;
			}

			.info_right {
				color: rgb(50, 36, 247);
				height: 100%;
				line-height: 80rpx;

				.right_img {
					width: 30rpx;
					height: 30rpx;
					margin-top: -6rpx;
					vertical-align: middle;
				}
			}
		}

		.main {
			width: 100%;
			// height: calc(100vh - 80rpx - 80rpx - 300rpx + 10rpx);
			display: flex;
			font-size: 32rpx;

			.main_left {
				width: 200rpx;
				border-right: 2rpx solid var(--borderColor);
				color: gray;
				height: 100%;

				.left_item {
					width: 100%;
					height: 120rpx;
					line-height: 120rpx;
					padding: 20rpx;
					box-sizing: border-box;
					font-size: 24rpx // overflow: hidden;
				}

				.left_item_active {
					color: #000;
					font-weight: 500;
					position: relative;

					&::before {
						content: '';
						position: absolute;
						width: 10rpx;
						height: 40rpx;
						background-color: red;
						top: 50%;
						left: 0;
						transform: translateX(-50%);
					}
				}
			}

			.main_right {
				flex: 1;
				padding: 10rpx;
				box-sizing: border-box;

				.right_tap {
					width: 100%;
					height: 50rpx;
					line-height: 50rpx;
					font-weight: 700;
					font-size: 30rpx;
					position: sticky;
					top: 0;
					background-color: #fff;
				}

				.right_item {
					display: flex;
					font-size: 36rpx;

					.item_img_box {
						width: 200rpx;
						height: 200rpx;
						padding: 10rpx;
						box-sizing: border-box;
						flex-shrink: 0;

						.item_img {
							width: 100%;
							height: 100%;
						}
					}

					.item_right {
						display: flex;
						flex-direction: column;
						justify-content: space-between;
						padding: 10rpx;
						box-sizing: border-box;

						.right_title {
							font-weight: 500;
							font-size: 26rpx;
						}

						.right_price {
							color: rgb(226, 51, 51);
							font-weight: 500;
						}

						.right_bottom {
							display: flex;
							justify-content: space-between;
							align-items: center;
							width: 300rpx;

							.bottom_left {
								border: 3rpx solid red;
								font-size: 24rpx;
								color: red;
								height: 30rpx;
								line-height: 30rpx;
								padding: 0 6rpx;
							}

							.bottom_right {
								background-color: red;
								color: #fff;
								border-radius: 6rpx;
								width: 40rpx;
								height: 40rpx;
								line-height: 34rpx;
								text-align: center;
							}
						}
					}
				}
			}
		}
	}
</style>

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值