基于 HarmonyOS 的用户登录界面实现

基于 HarmonyOS 的用户登录界面实现

HarmonyOS 是由华为推出的一种全场景分布式操作系统,该系统为不同类型的设备提供了统一的开发框架和一致的用户体验。本文将介绍如何使用 HarmonyOS 开发框架实现一个简单的用户登录界面。

HarmonyOS 开发中,使用 @ohos.router 来引入路由功能。以下是一个基于 HarmonyOS 的用户登录界面的实现示例:

import router from '@ohos.router'@Entry
@Component
struct Index {@State username: string = ""@State password: string = ""build() {Column() {Row() {Text("账号:").width("20%")TextInput({ text: this.username, placeholder: "请输入账号" }).width("80%").onChange((value: string) => this.username = value)}Row() {Text("密码:").width("20%")TextInput({ text: this.password, placeholder: "请输入密码" }).width("80%").type(InputType.Password).onChange((value: string) => this.password = value)}.margin({ top: 10 })Row() {Button("重置", {}).onClick(() => {this.username = ""this.password = ""}).margin({ right: 10 }).backgroundColor("#777")Button("登录").onClick((event: ClickEvent) => {if(this.username !== "admin" || this.password !== "123123"){console.log("账号或密码错误,请重新输入")}})}.margin({ top: 10 })}.padding(20)}
}

以上代码是一个使用 HarmonyOS 开发框架实现用户登录界面的示例代码。下面将对代码进行逐行解析。

首先,我们使用 import router from '@ohos.router' 导入 HarmonyOS 的路由功能,使得我们可以在应用中进行页面跳转。

接下来定义了一个名为 Index 的组件,使用了 @Entry 注解将其标记为入口组件。该组件包含两个状态属性 usernamepassword,它们用于保存用户输入的账号和密码。

build 方法中,我们通过 Column 组件创建了一个垂直方向的布局容器,然后使用 RowText 组件创建了两个文本行,分别用于显示“账号:”和“密码:”文本。使用 TextInput 组件创建了两个输入框,用户可以在输入框中输入账号和密码。同时,我们使用 onChange 方法绑定输入框的变化事件,将用户输入的值保存到组件的状态属性中。

接下来的 Button 组件创建了两个按钮,分别用于重置输入框和执行登录操作。对于重置按钮,我们使用 onClick 方法绑定了点击事件,当用户点击按钮时,将清空输入框中的内容。对于登录按钮,我们也使用 onClick 方法绑定了点击事件,然后使用条件判断语句检查输入的账号和密码是否与预设的值相符,如果不符则在控制台输出错误提示。

最后,我们为整个界面设置了一些样式,如设置了内边距和外边距,以及按钮的背景颜色。

通过以上代码,我们可以实现一个简单的 HarmonyOS 用户登录界面。该界面提供了账号和密码的输入框,并支持重置和登录操作。使用 HarmonyOS 开发框架,我们可以方便地创建跨设备、统一用户体验的应用程序。希望本文对您了解 HarmonyOS 的开发方式有所帮助。

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

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

相关文章

JIRA 基本使用

该页面可以: 查看个人基本信息以及归属的邮件组修改常用参数配置查看指给自己的 Open 问题查看自己最近的活动记录等 权限管理 Project 权限管理 JIRA 项目有三种通用权限方案: 公开权限方案(默认禁止使用此方案)&#xff1a…

nodejs微信小程序+python+PHP学科建设管理信息系统的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

Android adb:“more than one device/emulator“解决办法

文章目录 问题解决办法列出所有设备先选择设备,再进行命令 问题 adb.exe: more than one device/emulator原因就是当前已经连接多台设备。 解决办法 列出所有设备 adb devices如下:有多个设备 List of devices attached 2270000938 device 172…

Vue3 Router跳转传参

最近遇到这个问题router跳转传参,真是要了老命了。 根据网上各位大神给出的方法,试了 import { useRouter } from vue-routerconst router useRouter()//1. 无法跳转 router.push(name:,params:{})//2. 可以跳转, 但需要在定义router同时定义占位符&a…

Android --- Activity/Window/DecorView/ViewRootImpl的创建时机

自己看源码后的学习记录,仅供参考。 【Android】Activity/Window/DecorView/ViewRootImpl的创建时机1.Activity 的创建时机-> public static void main(String[] args)-> ActivityThread.performLaunchActivity()// Activity 被创建的…

全栈冲刺 之 一天速成MySQL

一、为什么使用数据库 数据储存在哪里? 硬盘、网盘、U盘、光盘、内存(临时存储) 数据持久化 使用文件来进行存储,数据库也是一种文件,像excel ,xml 这些都可以进行数据的存储,但大量数据操作…

高端网站设计公司 -蓝蓝设计数据可视化大屏服务

UI设计公司-蓝蓝设计(北京兰亭妙微科技有限公司)是一支由清华美院毕业的专业团队组成的设计公司。我们的设计师们在大屏科研信息软件UI设计领域拥有多年的工作经验和丰富的行业知识。我们对设计充满热爱,设计不仅是我们的专业和职业&#xff…

QML中支持切换语言时,对现有qml进行优化时可以使用正文中的正则表达式。匹配不带某字符串的行并且有中文

这个正则表达式,可以在qt中搜索查找到不带qsTr(标记的中文字符串。后续可以用在qml中写了中文又没加qsTr(标记但是又需要支持中英文切换时,搜索匹配到没加qsTr(标记地方,重新加上qsTr(标记。 注意:复制这个正则表达式使用时&…

行内元素和块级元素分别有哪些?有何区别?怎样转换?

行内元素和块级元素分别有哪些? 常见的块级元素: p、div、form、ul、li、ol、table、h1、h2、h3、h4、h5、h6、dl、dt、dd 常见的行级元素: span、a、img、button、input、select 有何区别? 块级元素: 总是在新行上…

[二分查找]LeetCode1964:找出到每个位置为止最长的有效障碍赛跑路线

本文涉及的基础知识点 二分查找算法合集 作者推荐 动态规划LeetCode2552:优化了6版的1324模式 题目 你打算构建一些障碍赛跑路线。给你一个 下标从 0 开始 的整数数组 obstacles ,数组长度为 n ,其中 obstacles[i] 表示第 i 个障碍的高度…

flutter开发实战-实现获取视频的缩略图封面video_thumbnail

flutter开发实战-实现获取视频的缩略图封面video_thumbnail 在很多时候,我们查看视频的时候,视频没有播放时候,会显示一张封面,可能封面没有配置图片,这时候就需要通过获取视频的缩略图来显示封面了。这里使用了video…

嵌入式软件工程师面试题——2025校招社招通用(十七)

说明: 面试群,群号: 228447240面试题来源于网络书籍,公司题目以及博主原创或修改(题目大部分来源于各种公司);文中很多题目,或许大家直接编译器写完,1分钟就出结果了。但…

第0篇红队笔记-APT-HTB

nmap 80 port-web尝试 searchploit-无结果 资源隐写查看-无结果 135 port rpcclient rpcinfo.py rpcdump.py rpcmap.py rpcmap.py爆破UUID 查看该UUID的表代表的服务能搜到UUID的漏洞 IOXIDResolver提取IPv6地址 IPV6-nmap smb smb探测目录 文件下载 测试其他目录 zip文件…

Quirks(怪癖)模式是什么?它和 Standards(标准)模式有什么区别?

前言: "Quirks模式"和"Standards模式"是与HTML文档渲染模式相关的两种模式。它们影响着浏览器如何解释和渲染HTML和CSS。理解它们之间的区别对于前端开发者和网页设计师来说是至关重要的。本文将深入讨论Quirks模式和Standards模式的区别,以及它…

vscode如何在没有网络的情况下安装插件

vscode如何在没有网络的情况下安装插件 start 遇到没有网络的电脑,无法直接从插件市场安装vscode的插件。写一下 vscode 插件离线安装的方法. 解决方案 目标电脑没有可以安装插件的网络,那我们只能在有网络的环境下载好我们的插件。然后拷贝软件到无…

【Qt之QColor】

QColor是Qt框架中一个表示颜色的类&#xff0c;它提供了大量的方法进行颜色的构造、转换和操作。C示例如下&#xff1a; #include <QApplication> #include <QWidget> #include <QPainter> #include <QColor>class Example : public QWidget { public…

一文解决msxml3.dll文件缺失问题,快速修复msxml3.dll

在了解问题之前&#xff0c;我们必须首先清楚msxml3.dll到底是什么。DLL&#xff08;Dynamic Link Libraries&#xff09;文件是Windows操作系统使用的一个重要组成部分&#xff0c;用于存储执行特定操作或任务的代码和数据。msxml3.dll为Windows系统提供处理XML文档的功能。如…

键盘打字盲打练习系列之指法练习——2

一.欢迎来到我的酒馆 盲打&#xff0c;指法练习&#xff01; 目录 一.欢迎来到我的酒馆二.开始练习 二.开始练习 前面一个章节简单地介绍了基准键位、字母键位和数字符号键位指法&#xff0c;在这个章节详细介绍指法。有了前面的章节的基础练习&#xff0c;相信大家对盲打也有了…

HarmonyOS

基本概念 1、ARKTS是由ArkUI框架提供&#xff0c;它是声明式UI 2、声明式UI的思想&#xff1a;- 关心描述UI的呈现结果&#xff0c;而不关心过程&#xff1b;- 状态驱动视图更新自定义组件的组成 关键字说明举例struct声明组件名struct ToDolist 代办组件EntryComponent装饰…