码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 鸿蒙HarmonyOS实战-ArkUI组件(TextInput/TextArea)


    合集 - 鸿蒙入门实战全套(核心知识点)(19)
    1.鸿蒙HarmonyOS实战-ArkTS语言(基本语法)03-202.鸿蒙HarmonyOS实战-ArkTS语言(状态管理)03-213.鸿蒙HarmonyOS实战-ArkTS语言(渲染控制)03-214.鸿蒙HarmonyOS实战-ArkUI组件(Row/Column)03-225.鸿蒙HarmonyOS实战-ArkUI组件(Stack)03-236.鸿蒙HarmonyOS实战-ArkUI组件(Flex)03-247.鸿蒙HarmonyOS实战-ArkUI组件(RelativeContainer)03-258.鸿蒙HarmonyOS实战-ArkUI组件(GridRow/GridCol)03-269.鸿蒙HarmonyOS实战-ArkUI组件(mediaquery)03-2710.鸿蒙HarmonyOS实战-ArkUI组件(List)03-2911.鸿蒙HarmonyOS实战-ArkUI组件(Grid/GridItem)03-2912.鸿蒙HarmonyOS实战-ArkUI组件(Swiper)03-3013.鸿蒙HarmonyOS实战-ArkUI组件(Button)04-0114.鸿蒙HarmonyOS实战-ArkUI组件(Radio)04-0215.鸿蒙HarmonyOS实战-ArkUI组件(Toggle)04-0216.鸿蒙HarmonyOS实战-ArkUI组件(Progress)04-0317.鸿蒙HarmonyOS实战-ArkUI组件(Text/Span)04-03
    18.鸿蒙HarmonyOS实战-ArkUI组件(TextInput/TextArea)04-07
    19.鸿蒙HarmonyOS实战-ArkUI组件(CustomDialog)04-08
    收起

    🚀一、TextInput/TextArea

    TextInput和TextArea组件通常用于收集用户输入的文本数据。

    TextInput组件通常用于单行文本的输入,它允许用户通过一个光标来输入文字,并支持多种样式和布局选项来提高用户体验。例如,在用户输入错误时可以显示错误消息或在用户输入时自动完成文本。

    TextArea组件与TextInput类似,但允许用户输入多行文本,它通常具有更大的输入框和滚动条来浏览输入的文本。Textarea组件也支持多种样式和布局选项,例如自动调整输入区域的大小以适应输入的文本,以及支持大于输入区域的文本滚动。

    无论是TextInput还是TextArea,它们都使用onChange事件来检测文本输入的变化,并将输入的文本作为属性传递到父组件或应用程序。这些组件也可以在需要时收集其他的表单数据,例如表单提交时需要发送的数据。

    🔎1.创建输入框

    语法说明:

    TextArea(value?:{placeholder?: ResourceStr, text?: ResourceStr, controller?: TextAreaController})
    TextInput(value?:{placeholder?: ResourceStr, text?: ResourceStr, controller?: TextInputController})
    

    使用:

    // xxx.ets
    @Entry
    @Component
    struct Index {
      build() {
        Column() {
          TextArea({text:"我是TextArea我是TextArea我是TextArea我是TextArea"}).width(300)
        }.width('100%')
      }
    }
    

    image

    🔎2.设置输入框类型

    // xxx.ets
    @Entry
    @Component
    struct Index {
      build() {
        Column() {
          TextInput()
            .type(InputType.Normal)
          TextInput()
            .type(InputType.Password)
        }.width('100%')
      }
    }
    

    image

    🔎3.自定义样式

    // xxx.ets
    @Entry
    @Component
    struct Index {
      build() {
        Column() {
          TextInput({placeholder:'我是提示文本'})
          TextInput({placeholder:'我是提示文本',text:'我是当前文本内容'})
          TextInput({placeholder:'我是提示文本',text:'我是当前文本内容'})
            .backgroundColor(Color.Pink)
        }.width('100%')
      }
    }
    

    image

    🔎4.添加事件

    // xxx.ets
    @Entry
    @Component
    struct Index {
      build() {
        Column() {
          TextInput()
            .onChange((value: string) => {
              console.info(value);
            })
            .onFocus(() => {
              console.info('获取焦点');
            })
        }.width('100%')
      }
    }
    

    image

    🔎5.案例

    登录界面是一种用于认证用户身份的界面。当用户访问需要身份验证的网站、应用程序或系统时,他们通常需要输入其用户名和密码来登录。登录界面通常包括一个输入框,以便用户输入其用户名或电子邮件地址,以及一个密码输入框,用于输入其密码。有些登录界面甚至还可包括验证码输入框或其他安全信息,以提高安全性。

    登录界面是Web和移动应用程序中常见的界面元素,因为它们允许应用程序和网站保护其用户的个人信息和数据。登录界面通常需要正确的用户名和密码才能访问应用程序或网站。登录后,应用程序或网站将与该用户关联,并在以后的访问中保持登录状态,使用户能够轻松地访问其个人信息和数据。

    @Entry
    @Component
    struct TextInputSample {
      build() {
        Column() {
          TextInput({ placeholder: 'input your username' }).margin({ top: 20 })
            .onSubmit((EnterKeyType)=>{
              console.info(EnterKeyType+'输入法回车键的类型值')
            })
          TextInput({ placeholder: 'input your password' }).type(InputType.Password).margin({ top: 20 })
            .onSubmit((EnterKeyType)=>{
              console.info(EnterKeyType+'输入法回车键的类型值')
            })
          Button('Sign in').width(150).margin({ top: 20 })
        }.padding(20)
      }
    }
    

    image

    🚀写在最后

    • 如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
    • 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。
    • 关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。
    • 更多鸿蒙最新技术知识点,请关注作者博客:https://t.doruo.cn/14DjR1rEY

    image

  • 相关阅读:
    Springboot旅游度假村管理系统34q0n计算机毕业设计-课程设计-期末作业-毕设程序代做
    SQL手工注入漏洞测试(Sql Server数据库)
    网络编程:使用UDP协议实现服务器与客户端的交互
    【csdn】gitcode初体验(开发云、Pages等)(持续更新)
    爬虫学习(15):selenium自动化测试(四):截屏、弹出框和下拉框
    JPA 和 EclipseLink 如何使用数据库审计、数据库安全、代理身份验证和 VPD
    arm & docker & sysbench
    我用PYQT5做的第一个实用的上位机项目(二)
    HDMI2.1 Redriver 信号增强 支持8K60
    NO.396 旋转数组
  • 原文地址:https://www.cnblogs.com/shudaoshan/p/18119764
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号