<view class="sort-container">
<view class="nav">
<ul class="choose">
<li class="{{activeHidden?'active':''}}" bindtap="changeShow" data-index="1" >选择分类</li>
<li class="{{!activeHidden?'active':''}}" bindtap="changeShow" data-index="2">选择排序</li>
</ul>
<ul class="fenlei" wx:if="{{fenleiHidden}}">
<li bindtap="switchSort" wx:for="{{listMenu}}" wx:for-item="item" data-index="{{index+1}}">{{item}}</li>
</ul>
<ul class="paixu" wx:if="{{paixuHidden}}">
<li bindtap="switchPaixu" data-index="0">销量(高到低)</li>
<li bindtap="switchPaixu" data-index="1">销量(低到高)</li>
<li bindtap="switchPaixu" data-index="2">价格(高到低)</li>
<li bindtap="switchPaixu" data-index="3">价格(低到高)</li>
</ul>
</view>
<scroll-view class="section" scroll-y="{{true}}">
<ul>
<navigator class="goodLi" url="/pages/detail/detail?goodId={{item.ProductId}}" wx:for="{{listGood}}" wx:for-item="item">
<li>
<div class="goodLeft">
<image src="{{item.ProductImage}}" mode="aspectFit"></image>
</div>
<div class="goodRight">
<p class="goodName">{{item.ProductName}}</p>
<p class="goodPrice">
¥<span class="nowPrice">{{item.ProductSalePrice}}</span>
<del>市场价:¥<span class="oldPrice">{{item.ProductMarketPrice}}</span></del>
</p>
<p class="pingjia">评价 {{item.ProductComment}}</p>
</div>
</li>
</navigator>
</ul>
</scroll-view>
</view>
|
.sort-container { height: 100%; display: flex; flex-direction: column; } .sort-container .nav { width: 100%; height: 43px; background-color: #fff; border-bottom: 1px solid #c6c7c9; position: relative; } .sort-container .nav .choose { width: 100%; display: flex; flex-direction: row; } .sort-container .nav .choose li { flex: 1; height: 40px; text-align: center; color: #999; font-size: 12px; line-height: 40px; } .sort-container .nav .choose li.active { color: #e65512; border-bottom: 3px #E65512 solid; } .sort-container .nav .fenlei, .sort-container .nav .paixu { z-index: 999; width: 100%; position: absolute; top: 43px; left: 0; color: #4e4e4e; text-align: center; display: flex; flex-direction: column; } .sort-container .nav .fenlei li, .sort-container .nav .paixu li { flex: 1; background-color: #ddd; width: 100%; font-weight: bold; height: 30px; line-height: 30px; padding-bottom: 3px; padding-top: 3px; font-size: 12px; border-bottom: 1px solid #000; } .sort-container .section { width: 100%; height: 100%; background-color: #fff; flex: 1; } .sort-container .section ul { width: 100%; display: flex; flex-direction: column; } .sort-container .section ul .goodLi { width: 100%; margin-top: 12px; color: #999; padding: 3px 5px; background-color: #f5f5f5; } .sort-container .section ul .goodLi li { display: flex; } .sort-container .section ul .goodLi div.goodLeft { flex: 1; margin: 3px 0; } .sort-container .section ul .goodLi div.goodLeft image { width: 100%; height: 80px; } .sort-container .section ul .goodLi div.goodRight { flex: 3; padding: 6px; color: #000; } .sort-container .section ul .goodLi div.goodRight p.goodName { font-size: 10px; display: block; } .sort-container .section ul .goodLi div.goodRight p.goodPrice { padding: 3px 0; font-size: 12px; color: #cd0606; display: block; } .sort-container .section ul .goodLi div.goodRight p.goodPrice span.nowPrice { font-size: 140%; font-weight: bold; } .sort-container .section ul .goodLi div.goodRight p.goodPrice del { padding-left: 3px; text-decoration: line-through; } .sort-container .section ul .goodLi div.goodRight p.pingjia { display: block; font-size: 10px; color: #999; text-align: right; } |
Page({ data: { list:[], listGood:[], listMenu:[], fenleiHidden:false, paixuHidden:false, activeHidden:true, title:"" }, onLoad: function (options) { var sortId=options.sortId; var that=this; wx.request({ url: 'http://localhost:81/mock/sort'+sortId+'.json', header: { 'Content-Type': 'application/json' }, success: function(res) { that.setData({ list: res.data, listGood:res.data }); }, fail: function (error) { console.log(error); } }); wx.request({ url: 'http://localhost:81/mock/sortMenu.json', header: { 'Content-Type': 'application/json' }, success: function(res) { that.setData({ listMenu: res.data[sortId-1].sonMenu, title:res.data[sortId-1].name }); }, fail: function (error) { console.log(error); } }); }, onReady:function(){ wx.setNavigationBarTitle({ title:this.data.title }) }, switchPaixu:function(event){ var index=event.target.dataset.index; switch (index) { case "0": this.data.listGood.sort(function(a,b){ if(parseInt(a.ProductSaleCount)<parseInt(b.ProductSaleCount)){ return 1; }else{ return -1; } }); break; case "1": this.data.listGood.sort(function(a,b){ if(parseInt(a.ProductSaleCount)>parseInt(b.ProductSaleCount)){ return 1; }else{ return -1; } }); break; case "2": this.data.listGood.sort(function(a,b){ if(parseInt(a.ProductSalePrice)<parseInt(b.ProductSalePrice)){ return 1; }else{ return -1; } }); break; case "3": this.data.listGood.sort(function(a,b){ if(parseInt(a.ProductSalePrice)>parseInt(b.ProductSalePrice)){ return 1; }else{ return -1; } }); break; } this.setData({ listGood: this.data.listGood, fenleiHidden:false, paixuHidden:false }); }, switchSort:function(event){ var index=event.target.dataset.index; var arr=[]; for(var i=0;i<this.data.list.length;i++){ if(parseInt(this.data.list[i].ProductId.substring(3,4))==index){ arr.push(this.data.list[i]); } } this.setData({ listGood: arr, fenleiHidden:false, paixuHidden:false }) }, changeShow:function(event){ var index=event.target.dataset.index; var that=this; console.log(index); switch(index){ case "1": this.setData({ fenleiHidden:!(that.data.fenleiHidden), paixuHidden:false, activeHidden:true }) break; case "2": this.setData({ fenleiHidden:false, paixuHidden:!(that.data.paixuHidden), activeHidden:false }) break; } } }); |
模板简介:该模板名称为【微信小程序选择分类顺序下拉框样式设计制作开发教程】,大小是,文档格式为.,推荐使用打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【小程序教程】栏目查找您需要的精美模板。