首页 > 语言 > JavaScript > 正文

小程序实现分类页

2024-05-06 15:36:59
字体:
来源:转载
供稿:网友

分类界页面中,左边是一级目录,右边是一级目录对应的二级目录,根据这个需求,我们数据设计的结构是数组嵌套数组,第一个数组包含一级目录数据,嵌套的数组包含的是二级目录的数据。

主要知识:

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样式。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选