点餐小程序实战教程05登录界面搭建

news2024/9/25 21:27:50

目录

  • 1 设置tab栏
  • 2 添加页面
  • 3 搭建登录界面
    • 3.1 显示头像
    • 3.2 显示昵称
    • 3.3 注册按钮
  • 总结

上一篇我们讲解了如何在首页加载的时候获取用户信息,一般小程序会在底部放置tab栏,将不同的菜单放置在tab栏中。我们的用户注册逻辑是,如果用户点击了底部的tab栏,切换到我的页面,会根据user对象是否有值来显示。如果没有值就显示默认的头像,昵称显示匿名用户,按钮我们显示注册。点击注册的时候跳转到注册页面。本篇我们就讲解一下页面的搭建方法。

1 设置tab栏

在微搭的新版本中提供了页面布局功能,在页面布局中可以设置具体的布局。打开我们的应用编辑器,点击页面布局。

在这里插入图片描述
切换到tab栏布局
在这里插入图片描述
选中tab栏,在右侧的属性面板里添加菜单
在这里插入图片描述
这里菜单是和页面相关的,现在我们只有一个首页,我们添加一下其他的页面

2 添加页面

再切回到页面设计视图
在这里插入图片描述
在页面列表点击新建的按钮
在这里插入图片描述
添加页面标题我的
在这里插入图片描述
然后再切换回页面布局视图,点击右侧属性面板的魔术棒图标,根据页面一键生成菜单
在这里插入图片描述
在这里插入图片描述

3 搭建登录界面

切换到我的页面,需要搭建页面的布局,布局就是我们准备怎么展示信息,一般我们会有一个草图
在这里插入图片描述
用红线标出来之后就有了层次感,我们底部会有一个容器,里边会放置一行信息,分别是用户的头像和昵称,昵称旁边会有一个按钮,如果是未登录的状态就显示注册,如果是已登录的状态就是修改

理清思路后我们就需要选择合适的布局组件,布局一种是使用普通容器进行搭建,一种是用网格布局。普通容器的好处是可以设置的比较精细,比如外边距、内边距、边框。网格布局是比较简单,但是控制的不那么精细。

初学我们先用网格布局实现,添加网格布局
在这里插入图片描述

3.1 显示头像

网格布局默认状态是一行三列,正好可以满足我们的需要。第一列我们添加一个图片组件
在这里插入图片描述
图片组件的设置方法是先选择布局模式为裁剪填满,这样才可以自由的设置图片的宽和高
在这里插入图片描述
切换到样式,设置一下图片的宽和高各为60
在这里插入图片描述
一般头像是圆形的,我们可以设置圆角半径,这里设置成90
在这里插入图片描述
我们这里需要控制图片的默认显示和正常显示。默认显示我们从素材里选择一个图片,正常显示我们从全局变量的user对象里获取用户的头像

这种可以使用图片组件的属性绑定,用短路运算符。在基础属性地址,点击fx
在这里插入图片描述
在侧边栏点击素材,选择我们默认的头像
在这里插入图片描述
在表达式绑定界面输入如下的表达式

$w.app.dataset.state.user.avatarURL||"https://lowcode-9g6zlcz504383ac8-1305601167.tcloudbaseapp.com/resources/2024-06/lowcode-1830431"

在这里插入图片描述

双竖线表示一个或的关系,如果从全局变量里没获取到数据,就使用默认图片

3.2 显示昵称

在第二列里添加文本组件,用来显示昵称
在这里插入图片描述
这里需要绑定文本内容
在这里插入图片描述
输入如下的表达式

$w.app.dataset.state.user.nickName||"匿名用户"

在这里插入图片描述

3.3 注册按钮

在第三列添加两个按钮,第一个按钮修改内容为注册
在这里插入图片描述
修改第二个按钮为修改
在这里插入图片描述
两个按钮都显示就不太合适,需要根据用户是否注册来控制显示,我们这里给按钮绑定条件展示
在这里插入图片描述
输入如下的表达式

!$w.app.dataset.state.user._id

在这里插入图片描述

这里我们获取了全局变量user的数据标识属性,通过取反来验证当前数据标识是否有值,如果没有值取反之后就变成了true

修改按钮我们的条件展示绑定成如下

$w.app.dataset.state.user._id

通过这样就解决了两个按钮只显示一个的问题

总结

我们这一篇讲解了登录界面如何使用布局组件搭建的问题,开发前端页面,熟练使用布局组件是必备的基本功。在属性绑定的时候我们用到了短路运算符和取反运算符,运算符和表达式在JavaScript中是语法部分的基础知识,熟练掌握具体的知识点也决定你能否按照自己的想法搭建出功能来。

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

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

相关文章

Java码农人生开启手册——多态与重写

一、多态 概念:通俗来说,就是多种形态;具体点,就是去完成某个行为,当不同的对象去完成时会产生不同的状态。 1、多态的实现条件 三个条件,缺一不可: 必须在继承体系下子类必须对父类中方…

训练 Vision Transformer 模型并运行推理

目录 CV Architecture ViT and U-Net Training ViT Florence-2 Load Model Load images CV Scenarios test Genarate CAPTION from the images DENSE REGION CAPTION and REGION_PROPOSA Caption to Phrase Grounding Bounding boxes OCR test Fine Tuning Floren…

2024年转行做网络安全工程师还来得及吗?薪资怎么样呢

🤟 基于入门网络安全/黑客打造的:👉黑客&网络安全入门&进阶学习资源包 2022年以来,我国网络安全行业的市场规模持续增长,根据市场调研在线网发布的2023-2029年中国网络安全集成行业市场运行态势及发展趋向分析…

Pycharm配置ssh远程服务器解析器

算法学习、4对1辅导、论文辅导或核心期刊可以通过公众号滴滴我 文章目录 需求配置流程 需求 之前在开发中,Pycharm都是通过本机Python环境来解析。但有时候,可能受限于本机电脑配置原因,导致运行速度并不快。因此推荐大家尝试下&#xff0c…

一文带你彻底掌握二分查找

1. 认识二分查找 二分查找也被称为折半查找,他是一种查询效率较高的查找方式,普通查找的方式通常是从头到尾遍历一遍数组,二分查找的方式是找到数组中间的那个元素mid与目标值target进行比较,比target小就去前半段找,…

Java中List集合去重

反问问题:为什么不直接使用 Set 或者 LinkedHashSet 呢 实际场景:实际的业务开发中遇到的情况会更复杂。比如,List 集合可能是历史遗留问题,也有可能是调用接口返回的类型限制,只能使用 List 接收,又或者是…

Qualcomm Linux 交叉编译应用程序

1. 前提条件 Ubuntu 20.04 系统 Qualcomm RB3 Gen2开发板 2.下载并安装 eSDK 平台 1.从 Qualcomm 发布存档平台下载 eSDK。 wget https://artifacts.codelinaro.org/artifactory/qli-ci/flashable-binaries/qimpsdk/qcm6490/x86/qcom-6.6.28-QLI.1.1-Ver.1.1_qim-product-s…

消除数字球-第15届蓝桥省赛Scratch初级组真题第5题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第184讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,…

python程序使用nohup后台执行不能实时输出到定向文件的解决方法

问题描述:使用nohup命令后台执行python,但python中print方法打印结果不能实时输出到nohup后台定向文件,只能在程序结束时一次性输出。典型问题样例:在python中使用了os.system(command)方法,command命令打印的结果可以…

免费爬虫软件“HyperlinkCollector超链采集器v0.1”

HyperlinkCollector超链采集器单机版v0.1 软件采用python的pyside2和selenium开发,暂时只支持window环境,抓取方式支持普通程序抓取和selenium模拟浏览器抓取。软件遵守robots协议。 首先下载后解压缩,然后运行app目录下的HyperlinkCollector.exe 运行…

网页与App无缝衔接,揭秘拉起应用的黑科技!

随着移动互联网的飞速发展,App已经成为了我们日常生活中不可或缺的一部分。然而,在推广和运营App的过程中,如何让用户更便捷地从网页跳转到App,一直是困扰推广者的难题。今天,我们就来聊聊网页拉起应用这一黑科技&…

开源 AI 智能名片 S2B2C 商城小程序中的全渠道供应策略

摘要:本文深入探讨在开源 AI 智能名片 S2B2C 商城小程序的情境下,全渠道供应的运行机制。阐述各环节企业相互配合的重要性,重点分析零售企业在其中的关键作用,包括协调工作、信息传递、需求把握等方面,旨在实现高效的全…

Python中的上下文管理器:提升代码的优雅与安全

在编写Python程序时,处理资源(如文件、网络连接、数据库会话等)的正确打开和关闭至关重要。不当的资源管理可能导致内存泄漏、数据损坏等问题。幸运的是,Python提供了一种优雅的方式来解决这个问题——上下文管理器。本文将探讨上…

象过河轮胎进销存,轻松管理进出库以及废旧轮胎回收

在轮胎行业,高效的进销存管理与废旧轮胎的回收是两大核心挑战,象过河轮胎进销存应运而生。软件专为轮胎行业量身定制,从进货,销售,到库存盘点,财务,轮胎废旧回收等一体化管理,以科技…

【每日刷题】Day118

【每日刷题】Day118 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 123. 买卖股票的最佳时机 III - 力扣(LeetCode) 2. 188. 买卖股票的最佳时…

如何用python打开csv文件路径

python读取CSV文件方法: 方法1:可先用以下代码查看当前工作路径,然后将CSV文件放在该路径下。 import os os.getcwd() 方法2:(绝对路径) import pandas as pd iris_trainpd.read_csv(E:\Study\DataSets\ir…

树莓派最强大的应用商店,你知道嘛?

Pi-Apps —— Raspberry Pi 最强大的应用商店 不久前,我获得了我的第一台Raspberry Pi。和大多数从Windows转移到Linux(特别是Raspberry Pi用户)的用户一样,我被这些问题困扰得快要疯了: 如何在我的Raspberry Pi上安装…

vue3 响应式API customRef()

使用ref()定义响应式数据&#xff1a; <template><div><div>{{ inputValue }}</div><input type"text" v-model"inputValue"></div> </template> <script setup lang"ts"> import { ref } fro…

测测万用表?合宙功耗分析仪Air9000Air9000P齐出动

当心&#xff01;那个被你遗忘的万用表&#xff0c;可能正在偷偷“吃”电&#xff01; 万用表不关是一个常见的错误&#xff0c; 指的是在使用万用表进行测量后&#xff0c;没有关闭或断开电路而直接离开。 这样做可能会导致电池耗尽&#xff0c;影响测量结果&#xff0c;甚…

解决报错 ‘numpy‘ has no attribute ‘bool8‘. Did you mean: ‘bool‘?

定位到报错的文件中 将所有bool8都修改为bool_ 一开始按照错误信息提示修改源码为bool还是会显示错误 这是因为&#xff1a; 目前最新的的NumPy版本版本中布尔类型的接口已经改为bool_。 通过查找可以定位到所有错误使用了bool8的位置&#xff08;上图是我修改之后再次查询…