【uniapp前端组件】仿美团外卖商品列表

仿美团外卖商品列表

简易实现美团外卖商品列表,没什么技术难点,简单来说就是两个scroll-view协作,并且两个scroll-view不会滑动冲突。

实际效果

仿美团外卖商品列表实际项目效果

简介

左右两个scroll-view简易实现美团外卖商品列表功能。rightBar属性仅为示例,可根据实际数据结构二次开发

属性介绍

属性名类型默认值必填说明
shopOptionsObject商品列表整体数据。
shopListArrayshopOptions下属性,不能单独使用
leftBarObjectshopOptions下属性,不能单独使用
rightBarObjectshopOptions下属性,不能单独使用

1、shopList

属性名类型默认值必填说明
shopListArray商品列表数据。本文仅为示例,数据结构不同,可根据数据结构二次开发本插件。

2、leftBar

属性名类型默认值必填说明
leftBarWidthString左部导航栏长度,例:25%、100px
leftBarBgColorString左部导航栏背景色,例:red、#fff
leftBarItemHeightString左部导航栏Item宽度,例:25px
leftBarItemFontSizeString左部导航栏Item字体大小,例:12px
leftBarItemSelectFontSizeString左部导航栏Item选择时字体大小,例:12px
leftBarItemFontWeightString左部导航栏Item字体粗细,例:400
leftBarItemSelectFontWeightString左部导航栏Item选择时字体粗细,例:400
leftBarItemFontColorString左部导航栏Item字体颜色,例:red#fff
leftBarItemSelectFontColorString左部导航栏Item选择时字体颜色,例:red#fff
leftBarItemBgColorString左部导航栏Item背景颜色,例:red#fff
leftBarItemSelectBgColorString左部导航栏Item选择时背景颜色,例:red#fff

3、rightBar

属性名类型默认值必填说明
rightBarWidthString右部导航栏长度,例:75%、650px
rightBarBgColorString右部导航栏背景色,例:red、#fff
rightBarItemImgWidthString右部商品列表Item图片长宽,例:40px
rightBarItemTitleFontSizeString右部商品列表Item标题字体大小,例:12px
rightBarItemTitleFontWeightString右部商品列表Item标题字体粗细,例:500
rightBarItemTitleFontColorString右部商品列表Item标题字体颜色,例:red#fff
rightBarItemDesFontSizeString右部商品列表Item描述信息字体大小,例:12px
rightBarItemDesFontWeightString右部商品列表Item描述信息字体粗细,例:500
rightBarItemDesFontColorString右部商品列表Item描述信息字体颜色,例:red#fff
rightBarItemPriceFontSizeString右部商品列表Item价格字体大小,例:12px
rightBarItemPriceFontWeightString右部商品列表Item价格字体粗细,例:500
rightBarItemPriceFontColorString右部商品列表Item价格字体颜色,例:red#fff

事件介绍

事件名说明
@rightBarItemClick右部商品列表item点击事件。返回值event:{superIndex: 2, index: 0}superIndex:左部导航栏当前选择的下标,index:右部商品列表当前点击的下标。

使用示例

<view class="container">
		<bugking7-shop-view 
		:shopOptions="shopOptions" 
		@rightBarItemClick="handleRightClick"></bugking7-shop-view>
</view>

import tabbarItem from '@/pages/index/data.js'

data() {
    return {
        shopOptions: {
            shopList: tabbarItem.tabbarItem,
            leftBar:{
                leftBarWidth:'25%',
                leftBarBgColor:'',
                leftBarItemHeight:'40px',
                leftBarItemFontSize:'13px',
                leftBarItemSelectFontSize:'14px',
                leftBarItemFontWeight:'400',
                leftBarItemSelectFontWeight:'500',
                leftBarItemFontColor:'black',
                leftBarItemSelectFontColor:'#fff',
                leftBarItemBgColor:'#f5f5f5',
                leftBarItemSelectBgColor:'#2979ff'
            },
            rightBar:{
                rightBarWidth:'75%',
                rightBarBgColor:'white',
                rightBarItemImgWidth:'40px',
                rightBarItemTitleFontSize:'15px',
                rightBarItemTitleFontWeight:'500',
                rightBarItemTitleFontColor:'black',
                rightBarItemDesFontSize:'13px',
                rightBarItemDesFontWeight:'300',
                rightBarItemDesFontColor:'gray',
                rightBarItemPriceFontSize:'15px',
                rightBarItemPriceFontWeight:'600',
                rightBarItemPriceFontColor:'red',
            }
        }
    }
},
methods: {
    handleRightClick(e){
        console.log(e)
    }
}

数据结构示例(shopList)

本组件仅为示例,商品列表数据只为测试使用。如果要在项目中使用本组件,请根据数据结构二次开发注:shopList数据结构须与二次开发组件中右部商品列表v-for时一致。

export default {
    "tabbarItem": [
        {
            "name": "京东",
            "id": "jd",
            "list": [
                {
                    "title": "京东plus年卡",
                    "subTitle": "限时优惠",
                    "desc": "详情请点击>>>",
                    "price": "¥99",
                    "avatar": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-7c798a00-b51f-42a8-bcad-d38005229108/621c6953-882d-4bbc-9afa-9adcfcc99c9f.jpeg",
                    "link": "https://hulumengke.suyur.com/detail?tid=500507660&mid=600309072&categoryId=262&groupId=296&productId=8980413150410",
                    "type": "link",
                    "imgPath": ""
                },
                {
                    "title": "1号店年卡",
                    "subTitle": "领取12个月鸡蛋",
                    "desc": "详情请点击>>>",
                    "price": "¥188",
                    "avatar": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-7c798a00-b51f-42a8-bcad-d38005229108/57ce3357-2c6d-4c13-bd4f-ab851a6de4bd.jpeg",
                    "link": "https://hulumengke.suyur.com/detail?tid=500507660&mid=600309072&categoryId=262&groupId=296&productId=2380704173252",
                    "type": "link",
                    "imgPath": ""
                }
            ]
        },
        {
            "name": "腾讯视频",
            "id": "txsp",
            "list": [
                {
                    "title": "月卡",
                    "subTitle": "限时优惠",
                    "desc": "详情请点击>>>",
                    "price": "¥18",
                    "avatar": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-7c798a00-b51f-42a8-bcad-d38005229108/4bc77267-4982-44c3-8af9-19b2543329f2.jpeg",
                    "link": "https://hulumengke.suyur.com/detail?tid=500507660&mid=600309072&categoryId=157&groupId=106&productId=200309073",
                    "type": "link",
                    "imgPath": ""
                },
                {
                    "title": "季卡",
                    "subTitle": "限时优惠",
                    "desc": "详情请点击>>>",
                    "price": "¥50",
                    "avatar": "https://vkceyugu.cdn.bspapp.com/VKCEYUGU-7c798a00-b51f-42a8-bcad-d38005229108/4bc77267-4982-44c3-8af9-19b2543329f2.jpeg",
                    "link": "https://hulumengke.suyur.com/detail?tid=500507660&mid=600309072&categoryId=157&groupId=106&productId=200309074",
                    "type": "link",
                    "imgPath": ""
                }
            ]
        }
    ]
}

存在问题

1、右部商品列表滑动时,左部导航栏暂未实现实时定位

uniappscroll-view的滑动事件监听,暂未实现根据计算滑动距离改变左部导航栏实时定位。如果有好的实现方式,欢迎评论留言。

插件地址

仿美团外卖商品列表

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本课程讲了Vue3+Vue2+Uni-app(uniapp)入门基础与实战,其中还重点讲解了ES6、TypeScript这些基础知识,实战由两大价值5000元的真实企业级项目组成,分别是仿京东电商网站和仿美团微信点餐小程序,同时两大项目代码全部赠送,还赠送前后端架构模板,工作中直接使用。VUE和uni-app是目前热门的前端框架,本课程教你如何快速学会VUE和uni-app并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件和插件,正式上线白屏问题,性能优化、解决iphoneX“刘海”兼容性问题、微信支付、微信授权登录,获取位置在地图上显示,获取用户所在的城市和街道信息,微信小程序发布审核等。对正在工作当中或打算学习VUE和uni-app高薪就业的你来说,那么这门课程便是你手中的葵花宝典。学习技巧:学习当中不要只看,一定要多敲代码,如果碰到某一个知识点不是很明白,不要钻牛角尖,千万不要因为一个点,放弃整个森林,接着往下学,硬着头皮开发项目。只要能亲自开发一个完整的项目,你会发现不明白的地方自然而然就明白了,项目做出来就真正的学会了。此vue和uni-app课程以面试和实战为基础进行讲解,每个知识点都会让你知道在实际项目开发中如何使用,学习后,可以开发大型项目,增强逻辑思维,至少让你拥有3年以上开发经验的实力!代码和ppt均可下载!免费提供《企业级完整实战项目接口文档》,绝对可用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

公子柒Zzzzzzz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值