首页 > 编程语言 >商城小程序-商品界面选择规格颜色等

商城小程序-商品界面选择规格颜色等

时间:2023-07-05 14:36:20浏览次数:37  
标签:界面 show 规格 let select valueList specificationList data 商城

原因:因为没有发现好用的组件,所以自己写了样式和判断方法,实际使用在真机演示时略显卡顿,等待后续优化

wxml:

商品图片、价格、以及选择规格颜色等信息

 

<view class="popup_information">         <image src="{{data.productList[0].url}}" mode="" />         <view class="money">           <view>¥{{select_show?data.productList[0].price:select_conter.price}}{{select_show?'':'.00'}}</view>           <view class="select_mr">           <view>{{select_show?'请选择':'已选'}}</view>           <block wx:for="{{data.specificationList}}" wx:key="index">             <view wx:if="{{!item.show}}">{{item.name}}</view>           </block>           <block wx:for="{{select_conter.specifications}}" wx:key="index">             <view wx:if="{{!select_show}}">{{item}}</view>           </block>           </view>         </view>       </view>   选择规格颜色等tag   <block wx:for="{{data.specificationList}}" wx:key="index">         <view class="specifications">         <view>           {{item.name}}         </view>         <block wx:for="{{item.valueList}}" wx:key="index">           <view data-id="{{item.id}}" bindtap="{{item.deleted=='nul'?'':'xuanze'}}" style="background: {{item.deleted=='nul'?'#f7f8fa':item.deleted?'#fde6e9':'#f7f8fa'}};color: {{item.deleted=='nul'?'#c8c9cc':item.deleted?'#ee0a24':'#323233'}};" class="specifications_item">           {{item.value}}         </view>         </block>       </view>       </block>   js   data: {     radio: true,     ddd:false,     gwc: 0,     id: '',     show: false,     show2: false,     number: 1,     select_show:true,     select_conter:{},     qd:[]   }, // 选择商品   xuanze(e){     let data = this.data.data     let a=0     let b=0     for(let i in data.specificationList){         for(let j in data.specificationList[i].valueList){           if(data.specificationList[i].valueList[j].id==e.currentTarget.dataset.id){             data.specificationList[i].valueList[j].deleted=!data.specificationList[i].valueList[j].deleted             a=i             b=j             break           }         }     }     this.setData({       data     })     this.yanzheng(a,b,data.specificationList[a].valueList[b].deleted)   },     // 验证tag选择状态 yanzheng(a,b,key){   let data = this.data.data   //还原其他行不可选状态 for(let i in data.specificationList){   if(i!=a){     for(let j in data.specificationList[i].valueList){       if(data.specificationList[i].valueList[j].deleted=='nul'){         data.specificationList[i].valueList[j].deleted=false       }     }   } } this.setData({   data })   // 验证本行 if(key){   for(let i in data.specificationList[a].valueList){     if(i!=b&&data.specificationList[a].valueList[i].deleted!='nul'){       data.specificationList[a].valueList[i].deleted=false     } } this.setData({   data }) // 验证其它行可选状态 for(let i in data.productList){   if(data.productList[i].specifications[a]==data.specificationList[a].valueList[b].value){     if(data.productList[i].number==0){       for(let j in data.specificationList){         if(j!=a){           for(let d in data.specificationList[j].valueList){             if(data.specificationList[j].valueList[d].value==data.productList[i].specifications[j]){                 data.specificationList[j].valueList[d].deleted='nul'             }           }         }       }     }   } } this.setData({   data }) } this.jilu() }, // 记录选项 jilu(){   let data = this.data.data   let qd = [] for(let i in data.specificationList){ for(let j in data.specificationList[i].valueList){   if(data.specificationList[i].valueList[j].deleted&&data.specificationList[i].valueList[j].deleted!='nul'){     data.specificationList[i].show=true     qd[i] = data.specificationList[i].valueList[j].value     break   }   data.specificationList[i].show=false } } // 判断选择状态 for(let i in data.specificationList){   this.setData({     select_show:false   })   if(!data.specificationList[i].show){     this.setData({       select_show:true     })     break   } } this.setData({   data,   qd   }) if(!this.data.select_show){   this.queding() }else{   this.setData({     select_conter:[]   }) } }, // 确定选择项 queding(){ let data = this.data.data let qd = this.data.qd let select_conter='' for(let i in data.productList){   if(select_conter==''){     select_conter=data.productList[i]   }   for(let j in data.productList[i].specifications){     if(data.productList[i].specifications[j]!=qd[j]){       select_conter=''       break     }   }   if(select_conter!=''){     break   } } this.setData({   select_conter }) },

标签:界面,show,规格,let,select,valueList,specificationList,data,商城
From: https://www.cnblogs.com/bkk2h5l0/p/17528411.html

相关文章

  • 直播商城源码,加载网页、html文件显示加载进度
    直播商城源码,加载网页、html文件显示加载进度新建加载WebViewActivity新建WebViewActivity加载网页html文件 classWebViewActivity:AppCompatActivity(){     overridefunonCreate(savedInstanceState:Bundle?){    super.onCreate(savedInstanceSta......
  • 华为云服务器Ubuntu安装图形界面
    华为云服务器Ubuntu安装图形界面方法一一种最简单测试过的方法GNOME桌面默认使用GDM3作为显示管理器,但从资源角度考虑它有点重。你可以使用更轻量级和资源友好的管理器。这里我们使用一个平台无关的显示管理器lightdm。安装sudoaptinstalllightdm安装ligh......
  • SPU 和 SKU【畅购商城】
    SPU=StandardProductUnit(标准产品单位)概念:SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的货品就可以成为一个SPU例如:华为P30就是一个SPU SKU=StockKeepingUnit(库存量单位)SKU即......
  • Unity3D高级编程主程手记 学习笔记四:用户界面
     用户界面(UI)是游戏项目中重要的组成部分。面对一个从零开始的项目,首先要选择选用哪个UI系统作为主框架。主流公司里最常用的UI系统有:NGUI,UGUI,除此之外还有部分公司使用FairyGUI,DoozyUI。UGUI的运行原理UGUI是在3D网格下构建起来的UI系统,它的每一个可显示元素都是通过3D......
  • Windows服务启动exe无界面终极解决方案
    摘自:https://www.cnblogs.com/ZoeWong/p/17516579.html1、前言我这个方案(C#操作)是彻底解决【从Windows服务启动程序exe,程序无界面】问题的终极解决方案,终极方案,绝对的终极方案,本来打算收钱的,还是算了,你们也不容易,关注我一下就行。后附代码下载地址。由于安全性问题,Vista以后的......
  • 前端Vue自定义注册界面模版 手机号邮箱账号输入框 验证码输入框  包含手机号邮箱账号
    前端Vue自定义注册界面模版手机号邮箱账号输入框验证码输入框 包含手机号邮箱账号验证,下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13306效果图如下:......
  • 快速使用Python-Tkinter设计界面 方法与代码
    作者:干饭小熊猫链接:https://www.zhihu.com/question/68663671/answer/2519875621来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1简介1.1Tkinter是什么?Tkinter是Python自带的GUI库,Python的IDEL就是Tkinter的应用实例。Tkinter可以看作是Tk......
  • 参考资料------ 快速使用Python-Tkinter设计界面 方法与代码-20230701
    作者:干饭小熊猫链接:https://www.zhihu.com/question/68663671/answer/2519875621来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1简介1.1Tkinter是什么?Tkinter是Python自带的GUI库,Python的IDEL就是Tkinter的应用实例。Tkinter可以看作是Tk......
  • Linux Shell用户界面
    预计更新1:基础知识简介和安装基本命令变量和环境变量2:流程控制条件语句循环语句函数3:文件处理文件读写文件权限和所有权文件搜索和替换4:网络和进程网络通信进程管理信号处理5:文本处理正则表达式文本分析和处理生成报告和日志6:用户界面命令行参数和选......
  • 前端Vue自定义登录界面切换tabs 账号登录验证码登录模版 支持手机号校验邮箱校验验证
    前端Vue自定义登录界面切换tabs账号登录验证码登录模版支持手机号校验邮箱校验、验证码发送, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=13298效果图如下:cc-loginTabs使用方法<!--selIndex:选中序列 tabs-arr:tabs数组 @tabClic......