相思资源网 Design By www.200059.com
分类界页面中,左边是一级目录,右边是一级目录对应的二级目录,根据这个需求,我们数据设计的结构是数组嵌套数组,第一个数组包含一级目录数据,嵌套的数组包含的是二级目录的数据。
主要知识:
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">{{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"color: #800000">.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;
}
效果图
好啦,大功告成!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
小程序,分类页
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无小程序实现分类页的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
