时间:2021-05-18
分类界页面中,左边是一级目录,右边是一级目录对应的二级目录,根据这个需求,我们数据设计的结构是数组嵌套数组,第一个数组包含一级目录数据,嵌套的数组包含的是二级目录的数据。
主要知识:
1.定义本地json文件
2.本地文件引入
3.小程序列表渲染实现
4.解析本地json
定义本地的json数据源
该文件在page下面的data文件下面的categroryData.js中
//模拟json数据 var categoryJson=[ { id: 'guowei', name: '果味', isChild: true, children: [ { child_id: 1, name: "果味" } ] }, { id: 'shucai', name: '蔬菜', isChild: true, children: [ { child_id: 1, name: "蔬菜" } ] }, { id: 'chaohuo', name: '炒货', isChild: true, children: [ { child_id: 1, name: "炒货" } ] }, { id: 'dianxin', name: '点心', isChild: true, children: [ { child_id: 1, name: "点心" } ] }, { id: 'ganguo', name: '干果', isChild: false, children: [] }, { id: 'clothes', name: '衣服', isChild: false, children: [] }, { id: 'bag', name: '包包', isChild: false, children: [] }, { id: 'woman', name: '女鞋', isChild: false, children: [] }, { id: 'mansport', name: '男鞋', isChild: false, children: [] }, { id: 'sports', name: '运动鞋', isChild: false, children: [] }, { id: 'hzp', name: '化妆品', isChild: false, children: [] }, { id: 'life', name: '日常用品', isChild: false, children: [] }, { id: 'computer', name: '电脑', isChild: false, children: [] }, { id: 'phone', name: '手机', isChild: false, children: [] } ] //导出数据 module.exports={ dataList:categoryJson }显示列表的页面——categroy.wxml文件
<view class="main"> <view class="categroy-left"> <!-- 当前项的id等于item项的id或者当前的下标等于item的下标时,那个就是当前状态- --> <view wx:for="{{category}}" wx:key="index" data-id="{{item.id}}" data-index="{{index}}" bindtap="switchTab" class="cate-list {{curIndex === index?'active':''}}">{{item.name}}</view> </view> <scroll-view class="categroy-right" scroll-y="{{}}" scroll-into-view="{{toView}}" scroll-with-animation="true"> <view wx:if="{{category[curIndex].isChild}}"> <block wx:for="{{category[curIndex].children}}" wx:for-index wx:key="idx"> <view id="{{item.id}}" class="cate-box"> <view class="cate-title"> <text>{{item.name}}</text> </view> </view> </block> </view> <!-- 若无数据,则显示暂无数据 --> <view class='nodata' wx:else>该分类暂无数据</view> </scroll-view></view>说明:
curIndex === index?'active':'' ,根据是否和一级目录index相同,来判断是否选中文字。相同执行.cate-list.active样式,不相同则执行.cate-list样式。
将本地数据引入到列表中——categroy.js文件
//引入本地的json数据var jsonData=require("../../data/categroryData.js")Page({ data: { curIndex: 0, toView: 'guowei' }, onLoad(){ this.setData({ //jsonData.dataList获取data文件中categoryData.js中定义的Json数据,并赋值给category category: jsonData.dataList }) }, switchTab(e){ //将获取到的item的id和数组的下表值设为当前的id和下标 this.setData({ toView: e.target.dataset.id, curIndex: e.target.dataset.index }) } })列表样式——category.wxss文件
.main{ width:100%; height: 100%; } .categroy-left{ float: left; width: 150rpx; height: 100%; overflow-y: auto; border-right: 1px solid #ddd; box-sizing: border-box; } .categroy-left .cate-list{ height: 90rpx; line-height: 90rpx; text-align: center; border-left: 3px solid #fff; } .categroy-left .cate-list.active{ color: #AB956D; border-color: #AB956D; } .categroy-right{ float: right; width: 600rpx; height: 100%; } .cate-box{ height: 100%; padding:40rpx; box-sizing: border-box; } .cate-title{ position: relative; height: 30rpx; line-height: 30rpx; padding:30rpx 0 55rpx; text-align: center; color: #AB956D; font-size: 28rpx; } .cate-title::before{ position: absolute; left: 130rpx; top: 43rpx; content: ''; width: 70rpx; height: 4rpx; background: #AB956D; } .cate-title::after{ position: absolute; right: 130rpx; top: 43rpx; content: ''; width: 70rpx; height: 4rpx; background: #AB956D; } .nodata{ font-size: 14px; text-align: center; color: #AB956D; margin-top: 100px; }效果图
好啦,大功告成!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了微信小程序外卖选购页实现切换分类与数量加减功能。分享给大家供大家参考,具体如下:关于微信小程序外卖界面实现选购切换分类与数量加减功能开发步骤:效果
开发微信商城需要的功能:1、商品栏目。 商品栏目页面肯定是第一,毕竟你是开发一个小程序商城,当然在开发一个商品栏目页时,要注意去实现商品的分类、排序、快速搜索
就在昨天,微信宣布了微信小程序开发者工具新增“云开发”功能下载最新的开发者工具,现在无需服务器即可实现小程序的快速迭代!分类功能和搜素功能的效果图1.首页分类功
6月28日,支付宝推出了多款垃圾分类小程序,千余种垃圾可以一键查询分类。小程序使用方法非常简单,用户通过支付宝查询垃圾分类有两种途径:支付宝内搜索“垃圾分类指南
从2016年9月21日微信封测开始算起,小程序已满三周岁。官方数据显示,微信小程序已超过50种大分类,200种细分类。去年,小程序向用户提供所有服务超过1000