小程序 | 微信小程序实现商品分类列表

小程序 | 微信小程序实现商品分类列表

一、效果展示

在这里插入图片描述


二、代码实现

<!-- wxml -->
<view class="container">
<!-- 商品列表 --><view class="cate"><!-- 左侧导航 --><scroll-view scroll-y class="nav-left"><view wx:for="{{List}}"wx:key="this"class="nav-left-item {{currentIndex_L == index ? 'L-item-active' : ''}}" bindtap="bindleLeftItemTap" data-index="{{index}}" ><text class="nav-left-item-txt {{currentIndex_L == index ? 'L-i-txt-active' : ''}}">{{item.LeftName}}</text></view></scroll-view><!-- 右侧导航 --><scroll-view scroll-y scroll-top="{{scrollTop}}" class="nav-right"><view wx:for="{{List[currentIndex_L].RightList}}"wx:key="this"class="nav-right-item"bindtap="bindleRightItemTap" data-index="{{index}}"><text class="nav-right-item-txt {{currentIndex_R == index ? 'R-i-txt-active' : ''}}">{{item.RightName}}</text><view class="{{currentIndex_R == index ? 'image-select' : ''}}"><image wx:if="{{currentIndex_R == index}}" class="item-select" src="../icon/Hook_icon.png"/></view></view></scroll-view></view><view class="pd32 btn-find"><view bindtap="toDetail"><view class="btn-big">查看详情</view></view></view>
</view>
// js
// 假数据
let List = [{"LeftId": 1,"LeftName": "分类1","RightList": [{"RightId": 11,"RightName": "商品11"},]},{"LeftId": 2,"LeftName": "分类2","RightList": [{"RightId": 21,"RightName": "商品21"},]},
]Page({/**	* 页面的初始数据*/data: {List : List,selectLeftId : null,selectRightId : null,currentIndex_L : null,currentIndex_R : null,scrollTop : 0},/*** 左导航点击事件*/bindleLeftItemTap(e) {const {index} = e.currentTarget.dataset;this.setData({currentIndex_L:index,currentIndex_R : null,selectLeftId : this.data.List[index].LeftId,selectRightId : null,scrollTop : 0,}) },/*** 右导航点击事件*/bindleRightItemTap(e) {const {index} = e.currentTarget.dataset;let index_L = this.data.currentIndex_L;this.setData({currentIndex_R : index,selectRightId : this.data.List[index_L].RightList[index].RightId,}) },/*** 底部查看详情按钮点击事件*/toDetail(e) {var selectLeftId = this.data.selectLeftId;var selectRightId = this.data.selectRightId;if(selectLeftId === null){wx.showToast({title: '请选择一种分类或商品!',icon: 'none',duration: 1500,mask: true});return;}if(selectRightId != null) {wx.navigateTo({url: '/pages/Detail/Detail' + '?' +'selectLeftId=' + selectLeftId + '&selectRightId=' + selectRightId,});}else {wx.navigateTo({url: '/pages/Detail/Detail' + '?' +'&selectLeftId=' + selectLeftId,});}	},
})
/* wxss */
page{background-color: #fff; 
}.container {  display: flex;flex-direction: column;width: 100%;  height: 100%;  background-color: #fff;  color: #939393;  
} .cate {display: flex;flex-direction: row;height: 85vh;
}.nav-left{display: inline-block;  width: 45%;  height: 85vh;  background: rgba(255, 255, 255, 1);  text-align: left;  
} .nav-left-item{display: flex;align-items: center;background: rgba(240, 242, 246, 1);height: 100rpx;   border-bottom: 1rpx solid #fdfcfc; 
}  .L-item-active{  border-left: 6rpx solid rgba(255,94,9,1);background: rgb(255, 255, 255);
} .nav-left-item-txt {margin-left: 40rpx;color: rgba(51, 51, 51, 1);line-height: 70rpx;   padding: 16rpx;     font-size: 32rpx; white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}.L-i-txt-active {color: rgba(255, 94, 9, 1);
}.nav-right {  display: inline-block;  width: 55%;  height: 85vh;  background: rgba(255, 255, 255, 1);  text-align: left; 
} .nav-right-item {display: flex;flex-direction: row;align-items: center;background: rgba(255, 255, 255, 1);height: 100rpx;   border-bottom: 1rpx solid rgba(240,242,246,1);
}.nav-right-item-txt {width: 300rpx;margin-left: 40rpx;color: rgba(51, 51, 51, 1);line-height: 70rpx;   padding: 16rpx;     font-size: 32rpx; white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}.R-i-txt-active {color: rgba(255, 94, 9, 1);
}.image-select {width: 60rpx;height: 50rpx;margin-left: 16rpx;margin-right: 32rpx;
}.item-select {display: flex;
}.btn-find {height: 15vh;
}.btn-big {background: linear-gradient(270deg, #FF5000 0%, #FF9000 100%);box-shadow: 0px 6px 10px 0px rgba(255, 80, 0, 0.3);border-radius: 26px;font-size: 26rpx;font-family: PingFangSC-Medium, PingFang SC;font-weight: 500;color: #FFF!important;width: 100%;text-align: center;height: 88rpx;font-size: 36rpx;display: flex;justify-content: center;align-items: center;margin: 44rpx auto;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/143552.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

微信小程序之多列表的显示和隐藏功能【附源码】

效果图&#xff1a; 实现思路&#xff1a; 实现单个列表的显示和隐藏应该使用唯一元素让程序知道你应该显示和隐藏哪个列表项&#xff0c;可以用数据的id&#xff1b;css中定义一个hidden{display&#xff1a;none}控制显示和隐藏&#xff0c;然后通过三元运算符来判断&#x…

微信小程序显示列表数据

目录 微信小程序创建项目配置底部导航栏 微信小程序滚动播放内容 微信小程序功能中心模块开发 微信小程序个人中心页面开发 微信小程序获取电话号码 微信小程序显示列表数据 微信小程序显示分页列表 微信小程序添加插屏广告 微信小程序添加激励式广告 最终效果可扫码查看 遇…

微信小程序编辑与显示列表信息

在上一篇中在后台利用SpringBoot实现了对区域列表信息的增删改查操作&#xff0c;这篇将利用微信小程序完成前端与用户的交互操作。 新建一个小程序后默认含有index页面和logs页面&#xff0c;index页面会获取用户名和头像并显示&#xff0c; 通过点击头像会触发bindViewTap方…

微信小程序列表筛选组件

x效果图&#xff1a; wxml: <view class"tabTit box"><view class"flex1{{!tab[index]? active:}}" wx:for"{{tabTxt}}" wx:key"type" data-index"{{index}}" bindtap"filterTab"><text>{{it…

微信小程序点击数据列表,进入列表详情页面的思路

1.在index.wxml 通过 bindtap去绑定一个事件。 对于详情页的传输数据&#xff0c;点击事件可以通过 data- 去实现&#xff0c;后面相当于是键值对&#xff0c;data-id"{{item.id}}"&#xff0c;意思是把列表的id传过去。 <view class"goods"><vi…

微信小程序删除list指定列表项

一、删除效果展示&#xff1a; // 重要代码片段async deleteListItem(e) {const sureResult await wx.showModal({title: "提示",content: "确定要删除这项吗",});if (sureResult.confirm) {const { index } e.currentTarget.dataset;setTimeout(()>{…

小程序---小程序列表项拖拽排序

一、拖拽效果图展示 首先&#xff0c;上个gif图看看效果 吐血测试了一天&#xff0c;目前还未发现bug。ps(拖拽效果仅在前端实现&#xff0c;未和后端交互) 文章代码参考小程序实现列表拖拽排序 &#xff0c;参考文章还是存在一些bug和不足&#xff0c;比如&#xff0c;样式代…

微信小程序列表页

我们在做Android开发时,几乎每个app都有几个列表,在Android中列表一般是用listview&#xff0c;后来就使用recyclerview做了,不管是小程序还是Android或者ios&#xff0c;列表都是常见的一种数据展示方式,那么在小程序中怎么实现呢&#xff1f;先使用最笨的方法做, 如图&#…

微信小程序信息展示列表

微信小程序信息展示列表 效果展示: 代码展示: wxml <view class"head"><view class"head_item">分类</view><view class"ring"></view><view class"head_item">价格</view> </view>…

微信小程序列表开发-个人中心界面(一)

先放个效果图让你们看一下是不是你们需要的&#xff0c;到时候会写几篇博客把里面的组件也讲一下 .wxml .wxss .js .json 我里面的引用的照片都放在image文件里的&#xff0c;image文件是放在pages文件下面的&#xff0c;因为放的位置不同&#xff0c;图片引用的路径…

JDK8-JDK17中的新特性(var类型推断、模式匹配、Record、密封类)

文章目录 1. 新语法结构1.1 Java的REPL工具&#xff1a; jShell命令1.2 异常处理之try-catch资源关闭1.3 局部变量类型推断1.4 instanceof的模式匹配1.5 switch表达式1.6 文本块1.7 Record1.8 密封类 2. API的变化2.1 Optional类2.2 String存储结构和API变更2.3 JDK17&#xff…

linux下安装使用dig命令

有时候用的精简版linux系统会发现没有dig命令,这时候就需要安装一下。 centos系 yum install bind-utils dig命令大多时候可以取代nslookup 简明使用,只会输出A记录(写脚本的时候容易获取ip地址) dig www.baidu.com +short只输出mx记录,简明使用 dig mx www.baidu.com…

dig命令后+trace的含义

dig trace命令 dig ip 域名 类型 trace工作过程 以 dig pbc.gov.cn trace 为例。 用户看到的结果 wireshark抓包看到的结果&#xff08;只显示了查询部分&#xff0c;响应就是查询目的对源地址的响应&#xff09; 步骤源目的查询1本机ip中指定的ip.的NS2本机本地DNS.的NS…

linux dig命令使用详解

linux dig命令使用详解 Linux下解析域名除了使用nslookup之外&#xff0c;开可以使用dig命令来解析域名&#xff0c;dig命令可以得到更多的域名信息。dig 命令主要用来从 DNS 域名服务器查询主机地址信息。 dig的全称是 (domain information groper)。它是一个用来灵活探测DN…

dig命令笔记

dig 命令全称域信息搜索器&#xff0c;是一个用于查询 DNS 域名服务器信息的命令行工具。因为dig命令灵活&#xff0c;容易使用&#xff0c;多数DNS管理员使用dig命令来诊断 DNS 问题。 dig 常用命令格式 dig [server] [-p port] [-t type] [-4] [-6] [trace] name 指定 DNS …

linux中dig 命令解释

dig&#xff08;域信息搜索器&#xff09;命令是个用于询问 DNS 域名服务器的灵活的工具。他执行 DNS 搜索&#xff0c;显示从受请求的域名服务器返回的答复。多数 DNS 管理员利用 dig 作为 DNS 问题的故障诊断&#xff0c;因为他灵活性好、易用、输出清楚 1、A记录&#xff1…

从dig命令理解DNS

DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;&#xff0c;是一种用于将域名解析为IP的服务器系统&#xff0c;当你上网时输入一个网址&#xff0c;它之所以能够找到该网址指向的服务器地址&#xff0c;都是靠域名系统来进行解析的。 先来讲讲域名。以华…

dig命令(dig命令怎么用)

林肯公园digdeeper是哪首歌 出自专辑《Minutes to Midnight》 nslookup、dig和host这几个命令有什么作用&#xff1f; nslookup、dig和host 这几个命令在UNIX和linux系统中使用,都可以进行域名的解析?nslookup使用交互方式查询域名与IP地址的映射关系?dig的功能是发送域名查…

Windows10 下安装 dig 命令的步骤(一)

前言&#xff1a; 今天在电脑上解析域名&#xff0c;但是发现dig命令报以下错误&#xff1a; Dig 工具全称为域名信息搜索器&#xff08;Domain InformationGroper&#xff09;&#xff0c;能够显示详细的DNS查询过程&#xff0c;是一个非常强大的DNS故障诊断工具。一般Linux…

linux中dig命令返回结果解释

dig baidu.com 返回 下面说明各项意义&#xff1a; ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> baidu.com ;; global options: printcmd dig程序的版本号&#xff0c;和要查询的域名 Dig的部分输出告诉我们一些有关于它的版本信息(versio…