【菜狗学前端】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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/27828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是深拷贝;深拷贝和浅拷贝有什么区别;深拷贝和浅拷贝有哪些方法(详解)

目录 一、为什么要区别深拷贝和浅拷贝 二、浅拷贝 2.1、什么是浅拷贝 2.2、浅拷贝的方法 使用Object.assign() 使用展开运算符(...) 使用数组的slice()方法&#xff08;仅适用于数组&#xff09; 2.3、关于赋值运算符&#xff08;&#xff09; 三、深拷贝 3.1、什么是…

selenium使用已经打开的浏览器

Selenium 本身不支持直接连接到一个已经打开的浏览器页面。Selenium 启动的浏览器实例是一个全新的会话&#xff0c;它与手动打开的浏览器页面是分开的。但是&#xff0c;有一些变通的方法可以实现类似的效果。 一种方法是通过附加代理连接到已经打开的浏览器。下面是如何实现…

解决:GoLand能断点,但无法下一步debug | 下一步按钮是灰的

目录 1. 背景2. 解决方案 1. 背景 突然发现goLand能断点成功&#xff0c;但是无法debug下一步&#xff0c;又急&#xff0c;网上一下子没找到解决方案&#xff0c;最后花了好多时间&#xff0c;打印了好多日志才定位到代码问题所在&#xff0c;后面花时间研究了一下&#xff0…

C++ 20新特性之线程与jthread

&#x1f4a1; 如果想阅读最新的文章&#xff0c;或者有技术问题需要交流和沟通&#xff0c;可搜索并关注微信公众号“希望睿智”。 为什么要引入jthread 在C 11中&#xff0c;已经引入了std::thread。std::thread为C标准库带来了一流的线程支持&#xff0c;极大地促进了多线程…

leetcode第709题:转换成小写字母

注意字符不仅有26个英文字母&#xff0c;还有特殊字符。特殊字符的话&#xff0c;原样输出。 public class Solution {public char toLowChar(char c){if(c>a&&c<z){return c;}else if(c>A&&c<Z){int n(int)c32;return (char)n;}return c;}publi…

Java数据结构之ArrayList(如果想知道Java中有关ArrayList的知识点,那么只看这一篇就足够了!)

前言&#xff1a;ArrayList是Java中最常用的动态数组实现之一&#xff0c;它提供了便捷的操作接口和灵活的扩展能力&#xff0c;使得在处理动态数据集合时非常方便。本文将深入探讨Java中ArrayList的实现原理、常用操作以及一些使用场景。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨…

useEffect的概念以及使用(对接口)

// useEffect的概念以及使用 import {useEffect, useState} from reactconst Url"http://geek.itheima.net/v1_0/channels"function App() {// 创建状态变量const [lustGet,setLustGet]useState([]);// 渲染完了之后执行这个useEffect(() > {// 额外的操作&#x…

软考初级网络管理员__标准化基础知识单选题

1.张某购买了一张有注册商标的应用软件光盘&#xff0c;擅自复制出售&#xff0c;则其行为侵犯了()。 注册商标专用权 光盘所有权 软件著作权 软件著作权与商标权 2.以下关于软件著作权产生的时间&#xff0c;表述正确的是()。 自软件首次公开发表时 自开发者有开发意图…

如何进行两表数据合并-即包含两张表的所有数据

如果第二张表的数据量多于第一张表&#xff0c;并且您希望最终的表包含两张表的所有数据&#xff0c;即使某些数据在一张表中不存在&#xff0c;可以使用FULL OUTER JOIN。然而&#xff0c;需要注意的是&#xff0c;MySQL不支持FULL OUTER JOIN&#xff0c;但是可以通过结合LEF…

红队攻防渗透技术实战流程:组件安全:SolrShirolog4j

红队攻防渗透实战 1. 组件安全1.1 Solr1.1.1 命令执行(CVE-2019-17558)1.1.2 远程命令执行漏洞(CVE-2019-0193)1.1.3 Apache Solr 文件读取&SSRF (CVE-2021-27905)1.2 Shiro:1.2.1 CVE_2016_4437 Shiro-550+Shiro-7211.2.2 CVE-2020-119891.2.3 CVE-2020-19571.2.4 CVE-…

【TypeScript】泛型工具

跟着 小满zs 学 ts&#xff1a;学习TypeScript24&#xff08;TS进阶用法-泛型工具&#xff09;_ts泛型工具-CSDN博客 Partial 所有属性可选的意思Required 所有属性必选的意思Pick 提取部分属性Exclude 排除部分属性emit 排除部分属性并且返回新的类型 Partial 属性变为可选。…

Qt-Advanced-Docking-System的学习

Qt5.12实现Visual Studio 2019 拖拽式Dock面板-Qt-Advanced-Docking-System_c_saide6000-GitCode 开源社区 (csdn.net) 我使用的是Qt5.5.0 开始&#xff0c;我下载的是最新版的源码&#xff1a;4.1版本 但是&#xff0c;打开ads.pro工程文件&#xff0c;无法编译成功。 然后…

RERCS系统开发实战案例-Part02 创建BOPF对应的业务对象(Business Object)

1、通过事务码 BOBF创建业务对象 2、输入debug&#xff0c;进入编辑模式新建BO对象&#xff1b; 选择对应的BO对象属性类别&#xff1a; 3、激活BO对象 接口页签&#xff1a; 属性页签&#xff1a;自动带出标准的常量 改接口类部分源码&#xff1a; 4、BO对象Node Elemen…

Golang的Gin框架

目录 功能以及简单使用 gin.Engine数据结构 RouterGroup methodTrees gin.context 功能以及简单使用 功能: • 支持中间件操作&#xff08; handlersChain 机制 &#xff09; • 更方便的使用&#xff08; gin.Context &#xff09; • 更强大的路由解析能力&#xff08…

Web前端在深圳:探索技术与创新的融合之地

Web前端在深圳&#xff1a;探索技术与创新的融合之地 在数字化浪潮席卷全球的今天&#xff0c;深圳作为中国最具创新活力的城市之一&#xff0c;其在Web前端领域的发展同样引人注目。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;深入剖析深圳在Web前端领域的独…

Linux之tar打包解包命令

Linux之tar打包解包命令 打包与压缩区别 打包&#xff0c;也称之为归档&#xff0c;指的是一个文件或目录的集合&#xff0c;而这个集合被存储在一个文件中。归档文件没有经过压缩&#xff0c;所占空间是其中所有文件和目录的总和。 压缩&#xff0c;将一个大文件通过压缩算法…

基于 Delphi 的前后端分离:之五,使用 HTMX 让页面元素组件化之面向对象的Delphi代码封装

前情提要 本博客上一篇文章&#xff0c;描述了使用 Delphi 作为后端的 Web Server&#xff0c;前端使用 HTMX 框架&#xff0c;把一个开源的前端图表 JS 库&#xff0c;进行了组件化。 上一篇文章仅仅是描述了简单的前端代码组件化的可能性&#xff0c;依然是基于前端库的 JS…

windows下的eclipse按Ctrl+Shift+F格式化代码不起作用的处理

1、先上张图&#xff1a; 上面Format&#xff1a;CtrlShiftF&#xff0c;按了以后不起作用。 2、这个快捷键不起作用的原因&#xff1a;可能是快捷键冲突了。 机器上装了Sougou输入法&#xff0c;将输入法切换为英文模式是起作用的。 那么应该就是这个原因了。 3、解决方法…

【Ardiuno】使用ESP32单片机创建web服务通过网页控制小灯开关的实验(图文)

经过实验测试ESP32单片机的网络连接还是很方便的&#xff0c;这里小飞鱼按照程序实例的代码亲自实验一下使用Esp32生成的网页服务来实现远程无线控制小灯开关功能&#xff0c;这样真的是离物联网开发越来越近了&#xff0c;哈哈&#xff01; 连接好开发板和电路&#xff0c;将…

React入门教程:构建你的第一个React应用

在当今快速发展的Web开发领域&#xff0c;前端技术日新月异&#xff0c;而React作为一款强大的JavaScript库&#xff0c;已经成为众多开发者的首选。React以其组件化、高效的性能和灵活的数据处理机制闻名于世&#xff0c;被广泛用于构建动态且复杂的用户界面。在本教程中&…