商城小程序(3.分类页面)

这篇具有很好参考价值的文章主要介绍了商城小程序(3.分类页面)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果展示:并实现左右栏的上下滑动
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

一、渲染分类页面的基本结构

1、基本结构

首先设置左右两栏滑动区域

主要用到scroll-view组件定义可滚动视图
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

其中scroll-y -x 用于定义横向还是纵向滑动
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

	<view>
		<view class="scroll-view-container">
			<!-- 左侧的滑动区域 -->
			<scroll-view class="left-scroll-view" scroll-y="true" :style="{height: wh + 'px'}">
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
			</scroll-view>
			<!-- 右侧的滑动区域 -->
			<scroll-view scroll-y="true" :style="{height: wh + 'px'}">
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
				<view>11111111</view>
			</scroll-view>
		</view>
	</view>

2、自动适应屏幕

用到uni自带的api获取系统信息
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

定义onload加载信息,并赋值给高度

<script>
	export default {
		data() {
			return {
				// 当前设备可用高度
				wh: 0
			}
		},
		onLoad() {
			const sysInfo = uni.getSystemInfoSync()
			this.wh = sysInfo.windowHeight
		}
	}
</script>

把页面高度动态绑定

			<scroll-view scroll-y="true" :style="{height: wh + 'px'}">

3、界面细化

左侧滑动区域我们都可以先给个名来设计我们的样式

active表示当前选中的(这边后面再改动态,我们先设计样式)
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

style下css样式,具体的含义就不展示了。

主要注意&的使用,表示同时满足上目录与当前拼接时才会触发下面的样式(就是我们的第一栏left-scroll-view-item-active)

.scroll-view-container{
	display: flex;
	
	.left-scroll-view{
		width: 120px;
		
		.left-scroll-view-item{
			background-color: #F7F7F7;
			line-height: 60px;
			text-align: center;
			font-size: 12px;
			
			&.active {
				background-color: #FFFFFF;
				position: relative;
				
				&::before{
					content: ' ';
					display: block;
					width: 3px;
					height: 30px;
					background-color: #C00000;
					position: absolute;
					top: 50%;
					left: 0;
					transform: translateY(-50%);
				}
			}
		}
	}
}

小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

二、获取分类数据

同之前一样 分为3步骤
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

		methods: {
			// 获取分类列表数据
			async getCateList() {
				const {data : res} = await uni.request({
					url: 'https://api-hmugo-web.itheima.net/api/public/v1/categories',
					method: 'GET'
				})
				if(res.meta.status !== 200){
					return uni.showToast({
						title: '数据请求失败!',
						duration: 1500,
						icon: 'none',
					})
				}
				this.cateList = res.message
				uni.$showMsg('数据请求成功!')
			}
		}

三、动态渲染左侧的一级分类列表

将左侧滑动数据改为动态获取:从catelist中获取数据,用for循环遍历

			<!-- 左侧的滑动区域 -->
			<scroll-view class="left-scroll-view" scroll-y="true" :style="{height: wh + 'px'}">
				<block v-for="(item, i) in cateList" :key="i">
					<view :class="['left-scroll-view-item', i=== active ? 'active' : '']" @click="activeChanged(i)">
						{{item.cat_name}}</view>
				</block>
			</scroll-view>

其中要实现之前的点击事件,选中的栏位样式与其他框不同

定义active值,并与动态索引key i绑定(调用cativeChanged方法)
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习
实现动态展示数据,以及点击事件切换样式

小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

四、渲染二级分类列表

先来看看后端接口返回的数据格式:一级分类的数据children下保存的是二级分类信息,二级分类

的children下又保存三级分类的信息
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习
用同样的方法获取数据,这次直接在获取一级分类数据的基础上,直接给二级分类赋值
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习
修改点击事件:每次点击时,重新为二级分类赋值,查询当前一级目录的二级分类
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

渲染右侧二级分类列表的UI结构

			<!-- 右侧的滑动区域 -->
			<scroll-view scroll-y="true" :style="{height: wh + 'px'}">
				<view class="cate-lv2" v-for="(item2, i2) in cateList2" :key="i2">
					<view class="cate-lv2-title">/ {{item2.cat_name}} /</view>
				</view>
			</scroll-view>

美化二级分类的样式

	.cate-lv2-title {
		font-size: 12px;
		font-weight: bold;
		text-align: center;
		padding: 15px 0;
	}

小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习
点击切换也成功获取新的二级分类
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

五、动态渲染右侧三级分类列表

渲染三级分类的UI(直接从item2二级分类中,拿出我们的三级分类数据,并重新循环遍历)

			<!-- 右侧的滑动区域 -->
			<scroll-view scroll-y="true" :style="{height: wh + 'px'}">
				<view class="cate-lv2" v-for="(item2, i2) in cateList2" :key="i2">
					<!-- 二级分类的标题 -->
					<view class="cate-lv2-title">/ {{item2.cat_name}} /</view>
					<!-- 当前二级分类下的三级分类 -->
					<view class="cate-lv3-list">
						<!-- 三级分类的Item项 -->
						<view class="cate-lv3-item" v-for="(item3, i3) in item2.children" :key="i3">
							<!-- 三级分类的图片 -->
							<image :src="item3.cat_icon"></image>
							<!-- 三级分类的文本 -->
							<text>{{item3.cat_name}}</text>
						</view>
					</view>
				</view>
			</scroll-view>

美化样式

	.cate-lv3-list {
		display: flex;
		flex-wrap: wrap;
		
		.cate-lv3-item {
			width: 33.33%;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			margin-bottom: 10px;
			
			image {
				width: 60px;
				height: 60px;
			}
			text {
				font-size: 12px;
			}
		}
	}

小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

六、切换页面重置滚动条位置

小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习
先将右侧页面向下滚动
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习
切换页面时,重新回到顶部

小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

七、点击三级分类跳转到商品列表页面

小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习

点击商品后,有参数返回页面跳转
小程序商品分类页面滑动切换怎么实现,小程序,前端,javascript,学习文章来源地址https://www.toymoban.com/news/detail-830111.html

到了这里,关于商城小程序(3.分类页面)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序———同一页面内左右滑动切换内容显示

    一、微信小程序事件  由于首先介绍一下微信小程序中的事件,可选择快速略过或者直接进去之后的重点内容 一、什么是事件 事件是视图层到逻辑层的通讯方式。 事件可以将用户的行为反馈到逻辑层进行处理。 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对

    2024年02月03日
    浏览(74)
  • 使用JavaScript实现页面滑动切换效果

      使用JavaScript实现页面滑动切换效果 在现代Web页面设计中,页面滑动切换效果已经成为了一种常见的设计要求,能够提升用户体验,增加页面的交互性。本文将通过JavaScript来实现这一效果。 首先,我们需要在HTML中添加一些基础结构和样式。以下是一个简单的例子:   在

    2024年02月13日
    浏览(56)
  • 商城小程序(3.分类页面)

    效果展示:并实现左右栏的上下滑动 首先设置左右两栏滑动区域 主要用到scroll-view组件定义可滚动视图 其中scroll-y -x 用于定义横向还是纵向滑动 用到uni自带的api获取系统信息 定义onload加载信息,并赋值给高度 把页面高度动态绑定 左侧滑动区域我们都可以先给个名来设计我

    2024年02月20日
    浏览(22)
  • 谷粒商城第七天-商品服务之分类管理下的分类的拖拽功能的实现

    目录 一、总述 1.1 前端思路 1.2 后端思路 二、前端实现 2.1 判断是否能进行拖拽 2.2 收集受影响的节点,提交给服务器 三、后端实现 四、总结 这个拖拽功能对于这种树形的列表,整体的搬迁是很方便的。但是其实现却并不是那么的简单。 花样主要体现在前端上面,前端有两

    2024年02月14日
    浏览(109)
  • 鸿蒙 ArkTS Tabs组件实现类微信(可滑动的)tabBar页签切换页面功能

    :harmonyOS   鸿蒙开发  ArkTS  TabContent 使用场景:类微信底部导航栏,点击/左右滑动切换页面并加载数据 开发环境:ArkTS3.1  API9  Phone设备 HMOS Dev官方文档:文档中心 演示效果: 目录 完整Demo已提交至Gitee 搭建页面 自定义TabContent(往后翻有完整代码) 思路 开始 完

    2024年02月04日
    浏览(60)
  • HarmonyOS ArkTS TabContent组件实现类微信(可滑动的)tabBar页签切换页面功能

    :harmonyOS   鸿蒙开发  ArkTS  TabContent 使用场景:类微信底部导航栏,点击/左右滑动切换页面并加载数据 开发环境:ArkTS3.1  API9  Phone设备 HMOS Dev官方文档:文档中心 演示效果: 目录 完整Demo已提交至Gitee 搭建页面 自定义TabContent(往后翻有完整代码) 思路 开始 完

    2024年02月05日
    浏览(55)
  • 谷粒商城第七天-商品服务之分类管理下的删除、新增以及修改商品分类

    目录 一、总述 1.1 前端思路 1.2 后端思路 二、前端部分 2.1 删除功能 2.2 新增功能 2.3 修改功能 三、后端部分 3.1 删除接口 3.2 新增接口 3.3 修改接口 四、总结  删除和新增以及修改的前端无非就是点击按钮,就向后端发送请求,交与后端真正的执行相关操作。 具体来说,就是

    2024年02月15日
    浏览(45)
  • 谷粒商城第十天-分组新增级联显示商品分类&分组修改级联回显商品分类

    目录 一、总述 二、前端实现 三、后端实现 四、总结 本次就是一个小的优化。 就是分组新增或者是修改的时候,直接显示商品分类的id可读性不高,新增的时候需要填写对商品分类的id,修改的时候,就只是给你一个商品分类的数字,并不能直接显示到底是什么分类。 那有

    2024年02月14日
    浏览(49)
  • 微信小程序实现滑动/点击切换Tab

    👏 swiper+scroll-view实现滑动/点击切换Tab,以及scroll-left的使用~ 🥇文末分享源代码。记得点赞+关注+收藏! 2.1 scroll-view实现tab列表 scroll-view: 可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px。 scroll-x(bool

    2024年01月19日
    浏览(114)
  • 小程序 | 微信小程序实现商品分类列表

    小程序 | 微信小程序实现商品分类列表 一、效果展示 二、代码实现

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包