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

余姚企业网站建设app推广拉新一手渠道

余姚企业网站建设,app推广拉新一手渠道,seo优化方案书,开发一个icp网站需要多少钱商品双向联动列表的使用 电商app中,商品双向联动列表是非常常见的。 类似于这样的: dcloud插件市场是有现成的插件的,是黄河爱浪同学写的。。。 商品双向联动列表插件 地址:https://ext.dcloud.net.cn/plugin?id707 目前我没…

商品双向联动列表的使用

电商app中,商品双向联动列表是非常常见的。

类似于这样的:
在这里插入图片描述
dcloud插件市场是有现成的插件的,是黄河爱浪同学写的。。。

商品双向联动列表插件 地址:https://ext.dcloud.net.cn/plugin?id=707

目前我没有详细调整样式,因为UI图还在修改中,最终实现的效果不是很好看,但是基本功能都是有的:

在这里插入图片描述

接口的数据是前端模拟的,后续会根据接口自行调整数据。

另外如果某个商品选择数量时,如果有不同的规格,则需要在底部弹窗进行规格的展示,然后选择规格后再加入购物车。这个目前还没有处理。后续会完善。

代码如下:

<view class="swiperCon"><view class="scroll-panel" id="scroll-panel"><view class="list-box"><view class="left"><scroll-view scroll-y="true" :style="{ 'height':scrollHeight+'px' }":scroll-into-view="leftIntoView":scroll-with-animation="true"><view class="item" v-for="(item,index) in leftArray":key="index" :class="{ 'active':index==leftIndex }" :id="'left-'+index":data-index="index"@tap="leftTap">{{item}}</view></scroll-view></view><view class="main"><view class="mainCate"><scroll-view scroll-x class="nav z" scroll-with-animation :scroll-left="mainCateScrollLeft"><text class="cu-item" v-for="(item,index) in goodsCate" :key="index" :class="mainCateIndex==index?'select':''" @click="toSelectCate(item,index,$event)">{{item}}</text></scroll-view></view><swiper class="swiper" :style="{ 'height':scrollHeight - 20 +'px'}":current="leftIndex" @change="panelSwiperChange"vertical="true" duration="300"><swiper-item v-for="(item,index) in mainArray" :key="index"><scroll-view  scroll-y="true" :style="{ 'height':scrollHeight - 20 +'px' }"><view class="item"><view class="title"><view>{{item.title}}</view></view><view class="goods" v-for="(item2,index2) in item.list" :key="index2" @click="toDetail(item2)"><image src="/static/logo.png" mode=""></image><view class="goods-right"><view>{{index2+1}}个商品标题</view><view class="describe">{{index2+1}}个商品的描述内容</view><view class="money" style="position: relative;" @click.stop><text>{{index2+1}}个价格</text><uni-number-box class="step":min="1"style="position: absolute;right:40upx;":max="item2.stock || 1000":value="item2.number>item2.stock?item2.stock:item2.number":isMax="item2.number>=item2.stock?true:false":isMin="item2.number===1":disabled="true":index="index2"@eventChange="numberChange"></uni-number-box></view></view></view></view></scroll-view></swiper-item></swiper></view></view></view> 
</view>

script部分代码:

import uniNumberBox from '@/components/uni-number-box.vue'   // 加减数字组件
export default {data() {return {scrollHeight:400,leftArray:[],mainArray:[],leftIndex:0,goodsCate:[],mainCateIndex:0,mainCateScrollLeft:0}},components:{uniNumberBox},computed: {leftIntoView(){return `left-${this.leftIndex > 5 ? (this.leftIndex-5):0}`;}},mounted(){/* 等待DOM挂载完成 */this.$nextTick(()=>{/* 在非H5平台,nextTick回调后有概率获取到错误的元素高度,则添加200ms的延迟来减少BUG的产生 */setTimeout(()=>{/* 等待滚动区域初始化完成 */this.initScrollView().then(()=>{/* 获取列表数据,你的代码从此处开始 */this.getListData();})},200);})},onLoad(){this.goodsCate = ["薯片","巧克力","薯片","巧克力","薯片","巧克力","薯片","巧克力"];},methods:{//  scroll-view 实现 横线标签的滑动展示toSelectCate(item, index, e) {this.mainCateIndex = index;this.mainCateScrollLeft = (index - 1) * 60;},// 数字组件改变数字numberChange(data){console.log(data.number);},/* 初始化滚动区域 */initScrollView(){return new Promise((resolve, reject)=>{let view = uni.createSelectorQuery().select('#scroll-panel');view.boundingClientRect(res => {this.scrollHeight = res.height;this.$nextTick(()=>{resolve();})}).exec();});},/* 获取列表数据 */   // 此处可以通过自己的接口进行数据覆盖getListData(){// Promise 为 ES6 新增的API ,有疑问的请自行学习该方法的使用。new Promise((resolve,reject)=>{/* 因无真实数据,当前方法模拟数据。正式项目中将此处替换为 数据请求即可 */uni.showLoading();setTimeout(()=>{/* 因无真实数据,当前方法模拟数据 */let [left,main]=[[],[]];for(let i=0;i<25;i++){left.push(`${i+1}类商品`);let list=[];let max = Math.floor(Math.random()*15) || 8;for(let j=0;j<max;j++){list.push(j);}main.push({title:`第${i+1}类商品标题`,list})}// 将请求接口返回的数据传递给 Promise 对象的 then 函数。resolve({left,main});},1000);}).then((res)=>{console.log('-----------请求接口返回数据示例-------------');console.log(res);uni.hideLoading();this.leftArray=res.left;this.mainArray=res.main;});},/* 左侧导航点击 */leftTap(e){let index=e.currentTarget.dataset.index;this.leftIndex=Number(index);},/* 轮播图切换 */panelSwiperChange(e){let index=e.detail.current;this.leftIndex=Number(index);},}

css样式部分:

.swiperCon{height: 100%;display: flex;margin-bottom:40upx;flex-direction: column;flex-wrap: nowrap;justify-content: flex-start;align-items: flex-start;align-content: flex-start;&>view{width: 100%;}.scroll-panel{flex-grow: 1;height: 0;overflow: hidden;.list-box{display: flex;flex-direction: row;flex-wrap: nowrap;justify-content: flex-start;align-items: flex-start;align-content: flex-start;font-size: 28rpx;.left{width: 200rpx;background-color: #f6f6f6;line-height: 80rpx;box-sizing: border-box;font-size: 32rpx;.item{padding-left: 20rpx;position: relative;&:not(:first-child) {margin-top: 1px;&::after {content: '';display: block;height: 0;border-top: #d6d6d6 solid 1px;width: 620upx;position: absolute;top: -1px;right: 0;transform:scaleY(0.5);	/* 1px像素 */}}&.active,&:active{color: #42b983;background-color: #fff;}}}.main{background-color: #fff;padding-left: 20rpx;width: 0;flex-grow: 1;box-sizing: border-box;.mainCate{display: flex;.nav{display: flex;white-space: nowrap;border:1px solid red;.cu-item{padding:6upx 10upx;&.select{background:red;color:#fff;}}}}.swiper{height: 500px;}.title{line-height: 64rpx;font-size: 24rpx;font-weight: bold;color: #666;background-color: #fff;position: sticky;top: 0;z-index: 999;}.item{padding-bottom: 10rpx;}.goods{display: flex;flex-direction: row;flex-wrap: nowrap;justify-content: flex-start;align-items: center;align-content: center;margin-bottom: 10rpx;&>image{width: 120rpx;height: 120rpx;margin-right: 16rpx;margin-left: 2px;flex-shrink: 0;}.goods-right{flex:1;}.describe{font-size: 24rpx;color: #999;}.money{font-size: 24rpx;color: #efba21;}}}}}.bottom-panel{padding-bottom: 0;padding-bottom: constant(safe-area-inset-bottom);  padding-bottom: env(safe-area-inset-bottom);		}
}
http://www.lbrq.cn/news/2802079.html

相关文章:

  • 驴妈妈旅游网站的建设淄博seo推广
  • 免费网站平台推荐电商运营培训课程有哪些
  • 做网站需要花费那方面的钱找平台推广
  • 网站规划说明书友情链接是外链吗
  • 福州网站制作建设优化网站排名需要多少钱
  • seo网站设计费用排名轻松seo 网站
  • 云浮 网站建设免费网络营销平台
  • 招聘网站花钱做的简历有用没百度官方官网
  • 兰州微信信息平台网站建设公司网页网站建设
  • 怎么做让网站排名靠前企业网站seo服务
  • 网站搭建有分谷歌关键词智能调词工具
  • 鲜花网站建设主要内容江门搜狗网站推广优化
  • 佛山禅城区网站建设公司推广方案100个
  • apple网站设计网站链接查询
  • 网站开发需要的软件有哪些seo优化工作内容做什么
  • 专业建设网站应该怎么做软文网站推广
  • 企业网站制作建设的框架有哪几种淘宝关键词优化
  • 做网站找图片抖音seo什么意思
  • 做网站能不能赚钱竞价推广代运营企业
  • 做外贸重新设计网站如何seo网站推广
  • 行业网站定位企业网络营销推广案例
  • 书法网站优化关键词关键词优化策略
  • 网站建设培训深圳seo关键词排名优化方法
  • 陕西建设部网站官网广州推广优化
  • 自己做网站要买服务器吗阿里巴巴官网首页
  • 石油网页设计与网站建设脑白金网络营销
  • 网站设计排名网站成都专业的整站优化
  • 苏州行业网站建设费用网上接单平台有哪些
  • 帮人做网站推选的公司百度推广平台登录网址
  • 深圳北网站建设线上销售水果营销方案
  • 基于STM32单片机的二维码识别物联网OneNet云仓库系统
  • opencv学习:图像边缘检测
  • 大数据毕业设计选题推荐-基于大数据的鲍鱼多重生理特征数据可视化分析系统-Spark-Hadoop-Bigdata
  • 记一次 .NET 某光谱检测软件 内存暴涨分析
  • 审美积累 | 界面设计拆分 | Redesign Health - Services 医疗页面设计
  • 三极管单电源供电中电阻关系的理解