点餐小程序实战教程12菜品展示

目录

  • 1 点餐界面
  • 2 显示菜品分类
    • 2.1 创建变量
    • 2.2 数据绑定
  • 3 显示菜品
  • 总结

我们上一篇介绍了数据源的设计方法,讲解了菜品分类和菜品数据源的创建以及后台功能的开发。有了后台功能并且准备好数据之后,我们就需要开发小程序部分。

现实中你看到的想到的绝大多数功能已经有了最优解了,如果没有,那只能说明目前这个领域还处于比较落后的阶段。我们开发界面也是一样,找一个最优解做参照就可以。

1 点餐界面

我们先规划一下我们的界面
在这里插入图片描述
在点餐界面我们分为左右结构,左边展示菜品的分类,右边展示菜品的列表。知道我们的布局之后就要采用合适的组件,低码中我们可以通过侧边选项卡和数据列表两个组件组合起来实现我们想要的效果

2 显示菜品分类

打开我们的应用编辑器,从右侧的组件列表里添加侧边选项卡组件
在这里插入图片描述
侧边选项卡组件有两个属性需要进行配置,分别是标签和选中标签
在这里插入图片描述
标签需要从我们的菜品分类表里读取数据,而选中标签,我们需要默认选中我们第一个分类

为了绑定数据先需要创建变量

2.1 创建变量

点击代码区的+号,创建变量
在这里插入图片描述
我们这里需要读取菜品分类数据源的数据,因此在创建变量的时候需要选择内置数据表查询
在这里插入图片描述
数据源选择我们的菜品分类,触发方式选择入参变化时自动执行,设置排序字段,按照序号升序进行排列
在这里插入图片描述
这里为什么要选择入参变化时自动执行呢?因为我们页面加载完毕时候就需要给用户显示有哪些分类,如果选择手动执行,那需要用户主动去点击按钮才可以加载数据,显然与我们的实际不符

为了后续程序好维护,在变量命名时候需要给一个有意义的名字
在这里插入图片描述
定义变量之后需要验证一下数据是否正常取到了,点击运行看一下结果
在这里插入图片描述

2.2 数据绑定

变量定义好之后,需要将数据绑定到我们的属性上,点击标签旁边的fx
在这里插入图片描述
点开之后可以看到当前组件默认的数据格式要求

[{"label": "标签1","value": "1","iconType": "none","innerIcon": "","outerImage": "","iconPosition": "prefix","isDisabled": false,"__sortid__": "IS6OxjlmWF8OTCZYlsCXA"},{"label": "标签2","value": "2","iconType": "none","innerIcon": "","outerImage": "","iconPosition": "prefix","isDisabled": false,"__sortid__": "n6T-otONtoe6pEaL2Q0pG"},{"label": "标签3","value": "3","iconType": "none","innerIcon": "","outerImage": "","iconPosition": "prefix","isDisabled": false,"__sortid__": "qX57_aW3MV46_wjLkcZVq"}
]

他是要求数据的格式先是一个数组,在这里中括号括起来就表示数组。里边的元素要求是对象,对象是用一对儿大括号包裹。对象里的属性要求有label、value

目前这个是一个写死的状态,和我们的变量没关联上,我们要从右侧的可绑定变量列表里选择我们刚刚定义的变量

在这里插入图片描述
要一直选到records目录才是我们需要的数组,但是目前数组里的格式和我们组件要求是不匹配的,为了让数据源的字段和组件的属性对应上,需要使用数组的map方法重新组装一下,使用如下的表达式

$w.catetoryList.data.records.map((item)=>({label:item.mc,value:item._id}))

在这里插入图片描述
菜品分类显示好后,我们还需要设置一下默认选中的标签
在这里插入图片描述
我们需要从当前的数组中获取第一条数据,获取数据标识

$w.catetoryList.data.records[0]._id

在这里插入图片描述

3 显示菜品

菜品分类显示后,就需要根据分类显示对应的菜品。选中侧边栏选项卡的内容插槽
在这里插入图片描述
数据源选择菜品,模板选择商品列表
在这里插入图片描述
设置数据列表的外边距,各设置20
在这里插入图片描述
目前数据列表和侧边选项卡是没有关联的,我们通过设置筛选条件来进行关联。
在这里插入图片描述
筛选条件设置为菜品分类等于侧边选项卡的选中标签
在这里插入图片描述
在这里插入图片描述
这样我们的界面展示部分就配置完毕了,点击实时预览,可以看一下最终的效果
在这里插入图片描述

总结

本篇我们介绍了菜品分类及菜品列表展示功能的配置方法,主要介绍了侧边选项卡以及数据列表的配置。这里一个技术点是如何通过数组的map方法重新组装数据,尤其在类似于列表的组件会大量使用,如果不熟悉语法的还需要看一下javascript对应数组章节的介绍。

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

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

相关文章

大数据电商数仓项目--实战(一)数据准备

第一章 数仓分层 1.1 为什么要分层 1.2 数仓命名规范 1.2.1 表命名 ODS层命名为ods_表名DIM层命名为dim_表名DWD层命名为dwd_表名DWS层命名为dws_表名DWT层命名为dwt_表名ADS层命名为ads_表名临时表命名为tmp_表名 1.2.2 表字段类型 数量类型为bigint金额类型为decimal(16…

电脑usb接口封禁如何实现?5种禁用USB接口的方法分享!(第一种你GET了吗?)

“防患于未然,安全始于细节。”在信息技术飞速发展的今天,企业的信息安全问题日益凸显。 USB接口作为数据传输的重要通道,在带来便利的同时,也成为了数据泄露和安全风险的高发地。 因此,对电脑USB接口进行封闭管理&a…

微服务的优点及在云原生时代的合理落地方式

云计算de小白 那么,微服务到底能给业务带来什么好处?在云原生时代,如何更合理地实现微服务? 架构没有好坏之分,只有适合与不适合。然而,当我们对比微服务架构与单体架构时,可以发现微服务有以…

8--苍穹外卖-SpringBoot项目中套餐管理 详解(二)

目录 删除套餐 需求分析和设计 代码开发 根据id查询套餐 mapper层 Service层 ServiceImpl层 Mapper层 批量删除套餐 mapper层 Service层 ServiceImpl层 Mapper层 SetmealMapper.xml 修改套餐 需求分析和设计 代码开发 起售停售套餐 需求分析和设计 代码开发…

Docker全家桶:从0到加载本地项目

安装docker,我们选择的是CentenOS 7。 目录 Docker安装 命令 命令别名 数据卷挂载 Dockerfile 容器网络互联 Docker安装 1. 先删除本机旧的或者残留的docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest …

前端——js基础

一、JavaScript (简称js)——js可以给网页实现一个动态效果 1.JavaScript 组成 - 核心语法 ECMScipt 简称(es): 规范js的基本语法 1.es是js的语法规范 管理者 2.js是es的实现 操作者 - DOM > 文档对象 提供js操作 (例如…

再也不用担心内容重复!在线伪原创工具,让创作更自由!

大家好,今天我们将讨论一个对网络写作非常有益的辅助工具——在线内容转换工具。不论您是需要更新您的博客,还是希望在社交平台上保持活跃,我们都频繁面临着迅速生成新内容的挑战。利用一个有效的工具来改写现有内容,可以极大地提…

什么是网络安全自动化以及优势与挑战

目录 网络安全自动化的工作原理 网络安全自动化的好处 增强的安全功能 改善表现和姿势 降低安全成本 简化的安全合规性和审计 更好的端点管理 网络安全自动化的挑战 耗时且容易出错的安全流程 可见性降低,风险和成本增加 合规管理 有用的网络安全自动化…

算法题之每日温度

每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入…

基于Java的建筑节能监测系统+能源管理+公共建筑能耗监测系统+建筑能耗监测系统+节能监测系统+能源管理系统

介绍 建筑节能监测系统是基于计算机网络、物联网、大数据和数据可视化等多种技术融合形成的一套节能监测系统 系统实现了对建筑电、水、热,气等能源、资源消耗情况的实时监测和预警、动态分析和评估,为用户建立了科学、系统的节能分析方法,…

14年408-计算机网络

第一题: 解析:OSI体系结构 OSI由下至上依次是:物理层-网络链路层-网络层-运输层-会话层-表示层-应用层。 因此直接为会话层提供服务的是运输层。答案选C 第二题: 解析:数据链路层-交换机的自学习和帧转发 主机a1向交换…

webshell-HTTP常见特征

一、总体特点 二、蚁剑 数据中可以看到一些明文字符串函数,响应中可以看到响应的明文数据。 ant特征以及对数据base64可以解码 chr类别的会出现大量的chr编码 大量的百分号字符 三、哥斯拉 第一个请求包很大 响应为0 密钥被拆分到数据前后 响应包cookie带&#xf…

C#和数据库高级:虚方法

文章目录 一、抽象方法和抽象类中的思考1.1、回顾抽象方法的特点1.2、针对抽象方法问题的引出 二、虚方法的使用步骤2.1、虚方法重写方法的调用2.2、系统自带的虚方法2.3、重写Equals方法2.4、虚方法和抽象方法的比较 三、虚方法和抽象方法的联系3.1、ToString()方法的应用 一、…

Python爬虫APP程序:构建智能化数据抓取工具

在信息爆炸的时代,数据的价值日益凸显。Python作为一种强大的编程语言,与其丰富的库一起,为爬虫程序的开发提供了得天独厚的优势。本文将探讨如何使用Python构建一个爬虫APP程序,以及其背后的思维逻辑。 什么是Python爬虫APP程序&…

php thinkphp 小程序发送订阅模板消息通知

小程序需要在我的模板中先选用模板 小程序需要先订阅模板 wx.requestSubscribeMessage({tmplIds: ["XII_0By8D9WabnUjVPB_8S1itsm2d4_xxx"],success:

springboot实战学习(7)(JWT令牌的组成、JWT令牌的使用与验证)

接着上篇博客的学习。上篇博客是在基本完成用户模块的注册接口的开发以及注册时的参数合法性校验的基础上,基本完成用户模块的登录接口的主逻辑以及提到了问题:"用户未登录,需要通过登录,获取到令牌进行登录认证,…

DRF实操学习——收货地址的设计

DRF实操学习——收货地址的设计 1.行政区划表的设计2. 行政区划表接口演示1.返回所有的省份2. 查询指定上级行政区划的所有子区划,以及展示自身区划 3.行政区划表接口重写补充:前端请求逻辑4. 优化5.收货地址的设计6. 收货地址表接口重写7.优化1. 优化返…

示例说明:elasticsearch实战应用

Elasticsearch 是一个基于 Lucene 的分布式搜索和分析引擎,广泛应用于日志分析、全文搜索、数据可视化等领域。以下是 Elasticsearch 实战应用的一些关键点和步骤: 1. 环境搭建 首先,你需要在你的环境中安装和配置 Elasticsearch。 安装 E…

一个 Java 语言简化处理 PDF 的框架,提供了一套简单易用的 API 接口,满足多样化需求又能简化开发流程的处理方案(附教程)

前言 当前市面上处理 PDF 文件的工具众多,但它们往往存在一定的局限性,比如复杂交互、功能单一等问题。尤其对于那些需要频繁生成或编辑 PDF 文档的应用场景来说,找到一个既能满足多样化需求又能简化开发流程的处理方案显得尤为重要。那么&a…

中国的互联网电商,终于还是“连上了”

什么才是更好的互联网? 答案很简单:真正的互联。 9月26日,据市场消息,京东物流和菜鸟速递将分别接入淘天、京东平台。同时,京东也将在“双11”前开通支付宝支付,时隔13年再度携手阿里支付体系。 消息一出…