当前位置:   article > 正文

零基础开始学习鸿蒙开发-鸿蒙开发登录监听登录按钮并且获取文本框的值,登录校验。_鸿蒙开发点击获取按钮的值

鸿蒙开发点击获取按钮的值

目录

1.获取文本框的值,下面就用户名的值获取进行举例

        1.1利用onChange事件获取文本框改变的值

2.进行文本框的校验

        2.1定义isEmpty方法进行文本框的校验

3. 使用Row进行水平布局,  在布局里面添加Text文本提示语

    3.1登录的时候,通过onClick方法监听button事件获取到的值来判断是否 登录成功。

4.登录监听事件,主要监听两次输入的密码是否一致,还有输入的用户名或者密码是否正确。

5.以下是完整的鸿蒙登录业务逻辑开发的前端功能,直接放到index.ets下面即可运行。

6.下面是代码运行的最终效果。


1.获取文本框的值,下面就用户名的值获取进行举例

  1. //定义用户名(全局变量)
  2. @State username:string ="";

        1.1利用onChange事件获取文本框改变的值

            

  1. //输入框
  2. TextInput({placeholder:"请输入用户名"}).type(InputType.Normal)
  3. .width("300").onChange((username:string)=>{
  4. //通过onChange事件获取用户名
  5. this.username = username;
  6. console.debug("username==={}",this.username);
  7. });

2.进行文本框的校验

        2.1定义isEmpty方法进行文本框的校验

         

  1. //判断输入的参数是否为空方法
  2. isEmty(username:string,password:string,repeatPwd:string){
  3. //判断用户名是否为空
  4. if(username==null ||username==""){
  5. console.debug("用户名为空----");
  6. return true;
  7. }
  8. if(password==null ||password==""){
  9. console.debug("密码为空----");
  10. return true;
  11. }
  12. if(repeatPwd==null ||repeatPwd==""){
  13. console.debug("重复输入密码为空----");
  14. return true;
  15. }
  16. }

3. 使用Row进行水平布局,  在布局里面添加Text文本提示语

  1. Row({space:5}){
  2. Text("提示语:").fontColor(Color.Gray);
  3. Text(this.message).fontColor(Color.Red);
  4. }

    3.1登录的时候,通过onClick方法监听button事件获取到的值来判断是否 登录成功。

4.登录监听事件,主要监听两次输入的密码是否一致,还有输入的用户名或者密码是否正确。

  1. Button("登录按钮").width("50%").onClick(()=>{
  2. console.debug("登录")
  3. //判断是否为空
  4. this.isBlank = this.isEmty(this.username,this.password,this.repeatPwd);
  5. if (this.isBlank) {
  6. this.message = "请检查参数是否为空";
  7. return;
  8. }else {
  9. //判断两次输入的密码是否正确
  10. if (this.password!=this.repeatPwd){
  11. this.message ="两次输入的密码不一致";
  12. }
  13. //判断登录成功的 条件
  14. if (this.username=="admin"&&this.password=="admin") {
  15. this.message ="登录成功!!";
  16. }
  17. }
  18. }).backgroundColor(Color.Green);

5.以下是完整的鸿蒙登录业务逻辑开发的前端功能,直接放到index.ets下面即可运行。

  1. /*
  2. @Entry
  3. @Component
  4. struct Index {
  5. @State message: string = 'Hello Worlczxcxzd'
  6. build() {
  7. Row() {
  8. Column() {
  9. Text(this.message)
  10. .fontSize(50)
  11. .fontWeight(FontWeight.Bold)
  12. }
  13. .width('100%')
  14. }
  15. .height('100%')
  16. }
  17. }*/
  18. @Entry
  19. @Component
  20. struct registePage{
  21. //定义用户名
  22. @State username:string ="";
  23. //定义密码
  24. @State password:string ="";
  25. //定义重复用户名密码
  26. @State repeatPwd:string ="";
  27. //判断是否为空的标志
  28. @State isBlank:boolean=false;
  29. //提示语
  30. @State message:string ="";
  31. //判断输入的参数是否为空方法
  32. isEmty(username:string,password:string,repeatPwd:string){
  33. //判断用户名是否为空
  34. if(username==null ||username==""){
  35. console.debug("用户名为空----");
  36. return true;
  37. }
  38. if(password==null ||password==""){
  39. console.debug("密码为空----");
  40. return true;
  41. }
  42. if(repeatPwd==null ||repeatPwd==""){
  43. console.debug("重复输入密码为空----");
  44. return true;
  45. }
  46. }
  47. build(){
  48. //垂直的容器
  49. Column({space:5}){
  50. Image($r("app.media.app_icon"))
  51. .width("100")
  52. .height("100")
  53. .margin(50)
  54. Column({space:5}){
  55. //输入框
  56. TextInput({placeholder:"请输入用户名"}).type(InputType.Normal)
  57. .width("300").onChange((username:string)=>{
  58. //通过onChange事件获取用户名
  59. this.username = username;
  60. console.debug("username==={}",this.username);
  61. });
  62. //密码输入框
  63. TextInput({placeholder:"请输入密码"}).type(InputType.Password)
  64. .width("300").onChange((password:string)=>{
  65. //通过onChange事件获取密码
  66. this.password = password;
  67. console.debug("password==={}",this.password);
  68. });
  69. //重新确认密码
  70. TextInput({placeholder:"请再次输入密码"}).type(InputType.Password)
  71. .width("300").onChange((repeatPwd:string)=>{
  72. //通过onChange事件获取重复输入的密码
  73. this.repeatPwd = repeatPwd;
  74. console.debug("repeatPwd==={}",this.repeatPwd);
  75. });
  76. Row({space:5}){
  77. Text("提示语:").fontColor(Color.Gray);
  78. Text(this.message).fontColor(Color.Red);
  79. }
  80. //在这里提示一下
  81. /* Column(){
  82. Text(this.message.toString()).fontSize(6).fontColor(Color.Green).width("300");
  83. }*/
  84. }
  85. /*
  86. */
  87. /* */
  88. //登录
  89. Button("登录按钮").width("50%").onClick(()=>{
  90. console.debug("登录")
  91. //判断是否为空
  92. this.isBlank = this.isEmty(this.username,this.password,this.repeatPwd);
  93. if (this.isBlank) {
  94. this.message = "请检查参数是否为空";
  95. return;
  96. }else {
  97. //判断两次输入的密码是否正确
  98. if (this.password!=this.repeatPwd){
  99. this.message ="两次输入的密码不一致";
  100. }
  101. //判断登录成功的 条件
  102. if (this.username=="admin"&&this.password=="admin") {
  103. this.message ="登录成功!!";
  104. }
  105. }
  106. }).backgroundColor(Color.Green);
  107. }.height("100%")
  108. .width("100%")
  109. .alignItems(HorizontalAlign.Center)
  110. .justifyContent(FlexAlign.Center)
  111. }
  112. }

6.下面是代码运行的最终效果。

后面会继续分享怎么实现登录的网络请求,你们的支持是我最大的创作动力。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/290608
推荐阅读
相关标签
  

闽ICP备14008679号