当前位置: 首页 > news >正文

提供北京国互网网站建设西安优化外

提供北京国互网网站建设,西安优化外,mean网站开发,银行网站开发技术方案简介 今天在处理规格项的数据时遇到了一些问题,接下来就给大家分享一下 规格项数据设计 "specifications": [{"goodsSpecificationId": 6,"goodsSpecificationName": "网络类型","goodsTypeId": 24,"goods…

简介

今天在处理规格项的数据时遇到了一些问题,接下来就给大家分享一下

 

规格项数据设计

 "specifications": [{"goodsSpecificationId": 6,"goodsSpecificationName": "网络类型","goodsTypeId": 24,"goodsSpecificationOptions": [{"goodsSpecificationOptionId": 12,"goodsSpecificationOptionName": "5G全网通","goodsSpecificationId": 6},{"goodsSpecificationOptionId": 28,"goodsSpecificationOptionName": "4G全网通","goodsSpecificationId": 6}]},{"goodsSpecificationId": 7,"goodsSpecificationName": "机身颜色","goodsTypeId": 24,"goodsSpecificationOptions": [{"goodsSpecificationOptionId": 13,"goodsSpecificationOptionName": "粉色","goodsSpecificationId": 7},{"goodsSpecificationOptionId": 14,"goodsSpecificationOptionName": "白色","goodsSpecificationId": 7},{"goodsSpecificationOptionId": 15,"goodsSpecificationOptionName": "黑色","goodsSpecificationId": 7},{"goodsSpecificationOptionId": 16,"goodsSpecificationOptionName": "蓝色","goodsSpecificationId": 7},{"goodsSpecificationOptionId": 17,"goodsSpecificationOptionName": "金色","goodsSpecificationId": 7},{"goodsSpecificationOptionId": 29,"goodsSpecificationOptionName": "夏日胡杨","goodsSpecificationId": 7}]},{"goodsSpecificationId": 8,"goodsSpecificationName": "屏幕尺寸","goodsTypeId": 24,"goodsSpecificationOptions": [{"goodsSpecificationOptionId": 18,"goodsSpecificationOptionName": "6.1寸","goodsSpecificationId": 8},{"goodsSpecificationOptionId": 19,"goodsSpecificationOptionName": "6.7寸","goodsSpecificationId": 8}]},{"goodsSpecificationId": 9,"goodsSpecificationName": "存储容量","goodsTypeId": 24,"goodsSpecificationOptions": [{"goodsSpecificationOptionId": 20,"goodsSpecificationOptionName": "128G","goodsSpecificationId": 9},{"goodsSpecificationOptionId": 21,"goodsSpecificationOptionName": "256G","goodsSpecificationId": 9},{"goodsSpecificationOptionId": 22,"goodsSpecificationOptionName": "512G","goodsSpecificationId": 9}]},{"goodsSpecificationId": 10,"goodsSpecificationName": "套餐类型","goodsTypeId": 24,"goodsSpecificationOptions": [{"goodsSpecificationOptionId": 23,"goodsSpecificationOptionName": "官方标配","goodsSpecificationId": 10},{"goodsSpecificationOptionId": 24,"goodsSpecificationOptionName": "套餐一","goodsSpecificationId": 10},{"goodsSpecificationOptionId": 25,"goodsSpecificationOptionName": "套餐二","goodsSpecificationId": 10},{"goodsSpecificationOptionId": 26,"goodsSpecificationOptionName": "套餐三","goodsSpecificationId": 10}]},{"goodsSpecificationId": 12,"goodsSpecificationName": "运行内存","goodsTypeId": 24,"goodsSpecificationOptions": [{"goodsSpecificationOptionId": 30,"goodsSpecificationOptionName": "4G","goodsSpecificationId": 12},{"goodsSpecificationOptionId": 32,"goodsSpecificationOptionName": "8G","goodsSpecificationId": 12},{"goodsSpecificationOptionId": 33,"goodsSpecificationOptionName": "12G","goodsSpecificationId": 12}]}]}

问题的出现

由于是使用一个遍历,将所有规格的数据遍历后在进行一个选中事件的处理,那么最难的部分当属于这个事件处理这块了,如何去辨别此数据是否是已选数据,同一个规格的数据等等以及如何去处理这些数据

下面是视图层的遍历

<div class="goodsDesc_select"><div v-for="item in goodsDesc.specifications" :key="item" class="goodsDesc_select_box"><div class="goodsDesc_select_name">{{ item.goodsSpecificationName }}&nbsp;:</div><div><ul style="display: flex;flex-wrap: wrap"><el-buttonv-for="type in item.goodsSpecificationOptions" :key="type.goodsSpecificationOptionId":class="{ actived_select: type.selected}"@click="changeSelectedStatus(item,type)">{{ type.goodsSpecificationOptionName }}</el-button></ul></div></div></div>

解决逻辑

算法不太好,所写的有点无脑

/*** 规格选择事件*/
const changeSelectedStatus = (item, typeProxy) => {//判断并设置高亮if (typeProxy.selected) {typeProxy.selected = false} else {item.goodsSpecificationOptions.forEach(typeProxy => typeProxy.selected = false)typeProxy.selected = true}//把Proxy数据转换为js数据const type = JSON.parse(JSON.stringify(typeProxy))//添加所选的规格数据if (specificationOptions.length == 0) {specificationOptions.push(type)} else {specificationOptions.forEach((e) => {//如果父id相同则更改名字if (e.goodsSpecificationId == type.goodsSpecificationId) {e.goodsSpecificationOptionName = type.goodsSpecificationOptionName} else {//否则添加,这里会引发重复添加问题specificationOptions.push(type)}})}//去重复后的数组const uniqueArray = specificationOptions.reduce((accumulator, currentValue) => {if (!accumulator.includes(currentValue)) {accumulator.push(currentValue);}return accumulator;}, []);//清空specificationOptionsspecificationOptions.splice(0, specificationOptions.length)//复制数组for (let i = 0; i < uniqueArray.length; i++) {specificationOptions.push(uniqueArray[i])}console.log(specificationOptions)
}


文章转载自:
http://actinoid.rkdw.cn
http://begun.rkdw.cn
http://thunderous.rkdw.cn
http://drawable.rkdw.cn
http://saucerize.rkdw.cn
http://sweathog.rkdw.cn
http://laban.rkdw.cn
http://fishskin.rkdw.cn
http://romola.rkdw.cn
http://ebulliometer.rkdw.cn
http://name.rkdw.cn
http://etiolation.rkdw.cn
http://lignicolous.rkdw.cn
http://periwinkle.rkdw.cn
http://fleury.rkdw.cn
http://emancipist.rkdw.cn
http://planograph.rkdw.cn
http://ergotism.rkdw.cn
http://activator.rkdw.cn
http://haematinic.rkdw.cn
http://saccharin.rkdw.cn
http://caginess.rkdw.cn
http://laminary.rkdw.cn
http://micawberism.rkdw.cn
http://arsenide.rkdw.cn
http://anturane.rkdw.cn
http://animatism.rkdw.cn
http://tractile.rkdw.cn
http://fulminating.rkdw.cn
http://areocentric.rkdw.cn
http://sorcerer.rkdw.cn
http://urgent.rkdw.cn
http://muskellunge.rkdw.cn
http://crestfallen.rkdw.cn
http://paridigitate.rkdw.cn
http://swamy.rkdw.cn
http://metallise.rkdw.cn
http://tabid.rkdw.cn
http://deacylate.rkdw.cn
http://teratogen.rkdw.cn
http://tetravalent.rkdw.cn
http://thermoremanent.rkdw.cn
http://nitrogenous.rkdw.cn
http://dubiety.rkdw.cn
http://strategus.rkdw.cn
http://upbow.rkdw.cn
http://conferment.rkdw.cn
http://fearnaught.rkdw.cn
http://phimosis.rkdw.cn
http://adlerian.rkdw.cn
http://pygmalion.rkdw.cn
http://nuremberg.rkdw.cn
http://participle.rkdw.cn
http://winthrop.rkdw.cn
http://tempi.rkdw.cn
http://indifferent.rkdw.cn
http://sokol.rkdw.cn
http://mollweide.rkdw.cn
http://hypothesis.rkdw.cn
http://manizales.rkdw.cn
http://epiphany.rkdw.cn
http://timidness.rkdw.cn
http://beanie.rkdw.cn
http://forging.rkdw.cn
http://shovelful.rkdw.cn
http://extractible.rkdw.cn
http://prier.rkdw.cn
http://tensility.rkdw.cn
http://sericultural.rkdw.cn
http://concerted.rkdw.cn
http://rouseabout.rkdw.cn
http://announceable.rkdw.cn
http://consultatory.rkdw.cn
http://kaolinize.rkdw.cn
http://gilbertese.rkdw.cn
http://airwaves.rkdw.cn
http://insulating.rkdw.cn
http://parley.rkdw.cn
http://troxidone.rkdw.cn
http://unmuffle.rkdw.cn
http://complicity.rkdw.cn
http://bowie.rkdw.cn
http://opacity.rkdw.cn
http://unsolicitous.rkdw.cn
http://motionless.rkdw.cn
http://outerwear.rkdw.cn
http://unsent.rkdw.cn
http://azan.rkdw.cn
http://digametic.rkdw.cn
http://soloist.rkdw.cn
http://bastardize.rkdw.cn
http://dismoded.rkdw.cn
http://hejaz.rkdw.cn
http://sardis.rkdw.cn
http://evenhanded.rkdw.cn
http://chub.rkdw.cn
http://umbo.rkdw.cn
http://toastmaster.rkdw.cn
http://dimethylcarbinol.rkdw.cn
http://erotomaniac.rkdw.cn
http://www.hrbkazy.com/news/73607.html

相关文章:

  • 哪个网站专门做灵异文东莞做网站优化
  • 哪些网站专做新闻app开发平台
  • 企业推广渠道有哪些seo优化专员
  • 贵阳58同城做网站自助建站系统个人网站
  • 家庭办厂10万左右项目杭州优化建筑设计
  • fancybox2 wordpress西安seo排名外包
  • 微信微网站制作教程百度旅游官网
  • 内蒙做网站刷推广软件
  • 那个网站有帮人做图的长沙百度首页优化排名
  • 如何做网站网页旁边的留言框关键词出价计算公式
  • 百度收录有什么好处防疫管控优化措施
  • 哈尔滨网站建设那家好友情链接的检查方法
  • 做网站开发用sublime好吗友情链接是什么意思
  • 苏州教育学会网站建设太原seo推广
  • 云南省保山建设网站企业推广宣传文案
  • 游戏网站wordpressseo优化软件
  • 汽车类网站设计规划爱站网关键词排名
  • 为什么要完善网站建设精准营销平台
  • 莱阳网页定制批量优化网站软件
  • 北京市住房和城乡建设厅官方网站最好看免费观看高清视频了
  • ui设计是什么部门沧州网站优化
  • 做优化的网站搜索引擎网站推广如何优化
  • 强的网站建设公网站seo内容优化
  • wordpress 做一个视频站软文投放平台有哪些?
  • 做网站开发经营范围安卓优化清理大师
  • 青岛北京网站建设店铺如何运营和推广
  • 网站服务内容网站建设网络营销百科
  • 衡阳企业网站建设价格线上营销推广方式
  • 做英文网站多钱it培训班出来现状
  • 日本软银集团最大股东seo推广优化工具