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

【菜狗学前端】uniapp(vue3|微信小程序)实现外卖点餐的左右联动功能

记录,避免之后忘记......

一、目的:实现左右联动

  1. 右->左 滚动(上拉/下拉)右侧,左侧对应品类选中
  2. 左->右 点击左侧品类,右侧显示对应品类

二、实现右->左 滚动(上拉/下拉)右侧,左侧对应品类选中

1.在data()中初始化需要用到的数据

须知:左侧哪个品类选中是根据trigger==index比较得出的

2.在onLoad()中调用getheight()获取右侧各品类高度,给this.heightset数组赋值

// 回调函数,在数据发生改变时,在渲染dom之后,回制动执行回调函数// 获取不同分类的高度this.$nextTick(()=>{this.getheight()})

getheight()函数:

// 获取右侧各分类高度getheight(){const query=wx.createSelectorQuery()query.selectAll('.rig-height').boundingClientRect()query.exec(res=>{let height=0res[0].forEach(item=>{height = height+item.heightthis.heightset.push(height)})console.log(this.heightset);})}

 打印结果:

3.给右侧<scroll-view>组件绑定滚动函数@scroll=”scrollRight”,根据实际滚动高度与当前品类高度比较结果改变trigger进而改变左侧选中品类。

// 右侧滚动触发scrollRight(e){// console.log(e.detail.scrollTop)//获取当前滚动实际高度if(e.detail.scrollTop>=this.heightset[this.trigger]){//上拉到下一个品类this.trigger++}else{if(e.detail.scrollTop<this.heightset[this.trigger-1]){//下拉到上一个品类this.trigger--}}}

三、实现左->右 点击左侧品类,右侧显示对应品类

1.使用scroll-view组件的scroll-into-view属性实现

2.给左侧各品类绑定点击函数,改变this.trigger和this.scroll_into

相关文章:

  • Linux C编译器从零开发一
  • Web前端开发主题:深入探索、挑战与创新的四个维度
  • 机器 reboot 后 kubelet 目录凭空消失的灾难恢复
  • 文心智体 - 健身达人 | 一秒创建属于你的 “贾维斯“
  • 算法 | 剪枝函数以及几种形式回溯法和分支限界法的区别算法特性分支限界法的思想分支限界法的基本步骤Prim和Kruscal回溯法的效率
  • DELL服务器插入新磁盘、创建虚拟磁盘、挂载磁盘步骤
  • tcp协议机制的总结(可靠性,提高性能),基于tcp的应用层协议,用udp如何实现可靠传输
  • 系统编程:管道
  • 驱动开发(四):Linux内核中断
  • 【学习笔记】MySQL(Ⅲ)
  • 黑苹果睡眠总是自动唤醒(RTC)
  • JavaEE初阶--网络基本概念
  • 2024年宜春市中职“网络建设与运维”竞赛说明竞赛试题
  • 快速压缩前端项目
  • 【Windchill监听器、队列、排程】
  • [笔记] php常见简单功能及函数
  • 《Java编程思想》读书笔记-对象导论
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • C学习-枚举(九)
  • C语言笔记(第一章:C语言编程)
  • Docker容器管理
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • interface和setter,getter
  • Java教程_软件开发基础
  • Java面向对象及其三大特征
  • PAT A1120
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Xmanager 远程桌面 CentOS 7
  • 第十八天-企业应用架构模式-基本模式
  • 浅谈Golang中select的用法
  • 译有关态射的一切
  • 用jQuery怎么做到前后端分离
  • 用quicker-worker.js轻松跑一个大数据遍历
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #Z2294. 打印树的直径
  • $refs 、$nextTic、动态组件、name的使用
  • (1)(1.9) MSP (version 4.2)
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (2020)Java后端开发----(面试题和笔试题)
  • (rabbitmq的高级特性)消息可靠性
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (三分钟了解debug)SLAM研究方向-Debug总结
  • (四)事件系统
  • (一)VirtualBox安装增强功能
  • (一)认识微服务
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .“空心村”成因分析及解决对策122344
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Core跨平台微服务学习资源
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .Net的DataSet直接与SQL2005交互
  • .net连接MySQL的方法
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验