第九节HarmonyOS 常用基础组件3-TextInput

2023-12-02 17:04

本文主要是介绍第九节HarmonyOS 常用基础组件3-TextInput,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、TextInput描述

        TextInput组件用于输入单行文本,响应输入事件。TextInput的使用也非常广泛,例如应用登录账号密码、发送消息等。和Text组件一样,TextInput组件也支持文本样式设置,下面的示例代码实现了一个简单的输入框:

@Entry
@Component
struct Index {@State message: string = 'Hello 334 World'build() {Row() {Column() {TextInput().fontColor(Color.Blue).fontSize(20).fontStyle(FontStyle.Italic).fontWeight(FontWeight.Bold).fontFamily('Arial')}.width('100%')}.height('100%')}
}

效果图:

二、设置输入提示文本

        平时使用输入框的时候,往往会有一些提示文字。例如登录账号的时候会有“请输入账号”这样的文本提示,当用户输入内容之后,提示文本就会消失,这种提示功能使用placeholder属性就可以轻松的实现。您还可以使用placeholderColor和placeholderFont分别设置提示文本的颜色和样式,示例代码如下:

@Entry
@Component
struct Index {@State message: string = 'Hello 334 World'build() {Row() {Column() {TextInput({placeholder:"请输入账号"}).fontColor(Color.Blue).height(60).width(300).fontSize(20).fontStyle(FontStyle.Italic).fontWeight(FontWeight.Medium).fontFamily('Arial').placeholderColor(Color.Red)Blank(10)TextInput({ placeholder: "请输入1~16位密码" }).fontColor(Color.Blue).fontSize(20).height(60).width(300).fontStyle(FontStyle.Italic).fontWeight(FontWeight.Medium).fontFamily('Arial').placeholderColor(Color.Red)}.width('100%')}.height('100%')}
}

效果图如下:

三、设置输入类型

        可以使用type属性来设置输入框类型。例如密码输入框,一般输入密码的时候,为了用户密码安全,内容会显示为“......”,针对这种场景,将type属性设置为InputType.Password就可以实现。示例代码如下:

@Entry
@Component
struct Index {@State message: string = 'Hello 334 World'build() {Row() {Column() {TextInput({placeholder:"请输入账号"}).fontColor(Color.Blue).height(60).width(300).fontSize(20).fontStyle(FontStyle.Italic).fontWeight(FontWeight.Medium).fontFamily('Arial').placeholderColor(Color.Red)Blank(10)TextInput({ placeholder: "请输入1~16位密码" }).type(InputType.Password).fontColor(Color.Blue).fontSize(20).height(60).width(300).fontStyle(FontStyle.Italic).fontWeight(FontWeight.Medium).fontFamily('Arial').placeholderColor(Color.Red)}.width('100%')}.height('100%')}
}

效果图:

type的参数类型为InputType,包含以下几种输入类型:

  1. Normal:基本输入模式。支持数字、字母、下划线、空格、特殊字符等。

Password:密码输入模式

Email:e-mail地址输入模式

Number:纯数字输入模式

四、设置光标位置

可以使用TextInputController动态设置光位置,下面的示例代码使用TextInputController的caretPosition方法,将光标移动到了第二个字符后。

代码:

@Entry
@Component
struct Index {controller: TextInputController = new TextInputController();build() {Row() {Column() {TextInput({ controller: this.controller }).width(300).height(40)Blank(10)Button('设置光标位置').onClick(() => {this.controller.caretPosition(2)})}.width('100%')}.height('100%')}
}

效果图-点击按钮之前:

效果图-点击按钮之后:

五、获取输入的文本

        我们可以给TextInput设置onChange事件,输入文本发生变化时触发回调,下面示例代码中的value为实时获取用户输入的文本信息。

@Entry
@Component
struct Index {@State input_text: string = "";build() {Row() {Column() {TextInput({placeholder:"请输入您的描述语"}).placeholderColor(Color.Red).fontColor(Color.Green).width(300).height(40).onChange((value: string) => {this.input_text = value;console.log("onEditChange value = " + this.input_text);}).onEditChange((isEditing: boolean) => {console.log("onEditChange isEditing = " + isEditing);})Blank(10)Text(this.input_text)}.width('100%').alignItems(HorizontalAlign.Center).padding(12).backgroundColor(0xE6F2FD)}.height('100%')}
}

效果图:

日志:

        可以看出,当点击到输入框内时,onEditChange方法回调的isEditing返回true,表示正在编辑输入框。下面是输入123对应的实时输入内容。

这篇关于第九节HarmonyOS 常用基础组件3-TextInput的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/446127

相关文章

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

从基础到进阶详解Python条件判断的实用指南

《从基础到进阶详解Python条件判断的实用指南》本文将通过15个实战案例,带你大家掌握条件判断的核心技巧,并从基础语法到高级应用一网打尽,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录​引言:条件判断为何如此重要一、基础语法:三行代码构建决策系统二、多条件分支:elif的魔法三、

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

MySQL数据类型与表操作全指南( 从基础到高级实践)

《MySQL数据类型与表操作全指南(从基础到高级实践)》本文详解MySQL数据类型分类(数值、日期/时间、字符串)及表操作(创建、修改、维护),涵盖优化技巧如数据类型选择、备份、分区,强调规范设计与... 目录mysql数据类型详解数值类型日期时间类型字符串类型表操作全解析创建表修改表结构添加列修改列删除列

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致