第九节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

相关文章

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

Vue3中的动态组件详解

《Vue3中的动态组件详解》本文介绍了Vue3中的动态组件,通过`component:is=动态组件名或组件对象/component`来实现根据条件动态渲染不同的组件,此外,还提到了使用`markRa... 目录vue3动态组件动态组件的基本使用第一种写法第二种写法性能优化解决方法总结Vue3动态组件动态

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

Python中操作Redis的常用方法小结

《Python中操作Redis的常用方法小结》这篇文章主要为大家详细介绍了Python中操作Redis的常用方法,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解一下... 目录安装Redis开启、关闭Redisredis数据结构redis-cli操作安装redis-py数据库连接和释放增

四种Flutter子页面向父组件传递数据的方法介绍

《四种Flutter子页面向父组件传递数据的方法介绍》在Flutter中,如果父组件需要调用子组件的方法,可以通过常用的四种方式实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录方法 1:使用 GlobalKey 和 State 调用子组件方法方法 2:通过回调函数(Callb

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过