鸿蒙开发之ArkUI组件常用组件文本输入

TextInput、TextArea是输入框组件,通常用于响应用户的输入操作,比如评论区的输入、聊天框的输入、表格的输入等,也可以结合其它组件构建功能页面,例如登录注册页面。

TextInput为单行输入框、TextArea为多行输入框

TextArea

多行文本输入框组件,当输入的文本内容超过组件宽度时会自动换行显示。

高度未设置时,组件无默认高度,自适应内容高度。宽度未设置时,默认撑满最大宽度。

接口  

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

参数:  

placeholder 是占位符,ResourceStr (分为string字符串类型和Resource资源引用类型,引入系统资源或者应用资源中的字符串)

text是文本内容,也是ResourceStr类型的

controller 设置TextArea控制器,对于TextAreaController 类型,官方给出的解释

TextArea组件的控制器,目前可通过它设置TextArea组件的光标位置,调用caretPosition(value: number) 设置光标位置

属性

        除支持通用属性外,还支持以下属性:

通用属性padding的默认值为:

{

top: 8 vp,

right: 16 vp,

bottom: 8 vp,

left: 16 vp

}

事件

除支持通用事件外,还支持以下事件:

案例
@Entry
@Component
struct Index {@State message: string = 'Hello World'@State value:string = "123"@State placeholder:string = "palceholder"@State text: string = ''controller: TextAreaController = new TextAreaController()build() {Row() {Column() {TextArea({placeholder: 'input your word...',controller: this.controller}).placeholderColor("#00FF00").placeholderFont({ size: 16, weight: 400 }).width(336).height(56).margin(20).fontSize(16).fontColor('#182431').backgroundColor('#FFFFFF').onChange((value: string) => {this.text = value})Text(this.text)Button('Set caretPosition 1').backgroundColor('#007DFF').margin(15).onClick(() => {// 设置光标位置到第一个字符后this.controller.caretPosition(10)})}.width('100%')}.height('100%')}
}

TextInput

单行文本输入框组件

接口

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

参数

参数placeholder和text 与TextArea是一样的

controller是TextInputController (TextInput组件的控制器),同样可以设置输入光标的位置

属性

除支持通用属性外,还支持以下属性:

其中 EnterKeyType枚举说明

InputType枚举说明

TextInputStyle9+枚举说明

事件

除支持通用事件外,还支持以下事件:

案例
@Entry
@Component
struct TextInputExample {@State text: string = ''controller: TextInputController = new TextInputController()build() {Column() {TextInput({ text: this.text, placeholder: 'input your word...', controller: this.controller }).placeholderColor(Color.Grey).placeholderFont({ size: 14, weight: 400 }).caretColor(Color.Blue).width(400).height(40).margin(20).fontSize(14).fontColor(Color.Black).inputFilter('[a-z]', (e) => {console.log(JSON.stringify(e))}).onChange((value: string) => {this.text = value})Text(this.text)Button('Set caretPosition 1').margin(15).onClick(() => {// 将光标移动至第一个字符后this.controller.caretPosition(1)})// 密码输入框TextInput({ placeholder: 'input your password...' }).width(400).height(40).margin(20).type(InputType.Password).maxLength(9).showPasswordIcon(true)// 内联风格输入框TextInput({ placeholder: 'inline style' }).width(400).height(50).margin(20).borderRadius(0).style(TextInputStyle.Inline)}.width('100%')}
}

 

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

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

相关文章

Oracle数据库管理:从基础到高级应用【文末送书-45】

文章目录 入门篇:初识Oracle进阶篇:深入学习Oracle精通篇:掌握Oracle高级技术Oracle从入门到精通(第5版)(软件开发视频大讲堂)【文末送书-45】 在当今数字化时代,数据是企业成功的关…

django orm DateTimeField 6位小数精度问题

from django.db.backends.mysql.base import DatabaseWrapperDatabaseWrapper.data_types[DateTimeField] "datetime"意思就是重写源码里面的DateTimeField字段

xxl-job 适配人大金仓数据库 V8R6

前言 由于一些众所周知的原因&#xff0c;项目需要需要进行改造使其适配人大金仓的数据库。 xxl-job适配人大金仓 特此说明&#xff1a; 当前修改的xxl-job版本 为 2.4.1-SNAPSHOT mysql上的xxl-job库 迁移到 人大金仓数据库上pom中新增依赖 kingbase8 驱动 注意版本<!-…

充钱也不能任性,今天用百度AI又骂街了

今天在用文心一言的时候又翻车了&#xff0c;应该是又骂街了。 cao&#xff0c;充钱也不能任性啊&#xff0c;不能手贱去看百度的新功能&#xff0c;垃圾的一批。 本来付费用了用4.0&#xff0c;感觉Chat功能还是可以的&#xff0c;不论是简单的代码&#xff0c;还是一些通用的…

性价比高一点的diy台式主机怎么搭配?

怎么搭配一台性价比高一点的台式机 建议&#xff1a; 选择合适的CPU和GPU。根据实际需求选择相对较新的CPU和GPU型号&#xff0c;以确保能够运行目标应用程序和游戏。 合理选择内存和存储。根据预算选择适当的内存和存储容量。8GB或16GB内存对于一般计算和游戏使用足够了&…

由浅到深认识Java语言(31):阶段性练习

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

市场复盘总结 20240327

仅用于记录当天的市场情况&#xff0c;用于统计交易策略的适用情况&#xff0c;以便程序回测 短线核心&#xff1a;不参与任何级别的调整&#xff0c;采用龙空龙模式 一支股票 10%的时候可以操作&#xff0c; 90%的时间适合空仓等待 二进三&#xff1a; 进级率中 14% 最常用…

Mysql数据库命令大全

目录 mysql服务器处理客户端请求 Mysql数据库常用命令 三种删除方式&#xff1a; mysql服务器处理客户端请求 首先MySQL是典型的c/s架构&#xff0c;即client/Server架构&#xff0c;不论客户端进程和服务器进程是采用哪种方式进行通信&#xff0c;最后实现的效果都是&…

Qt C++ | QTimer经验总结

QTimer Class QTimer类提供重复计时器和单次计时器 头文件: #include <QTimer> qmake: QT += core 继承自: QObject 定时器信号 void timeout() 公共函数 Qt::TimerType 枚举定义了 Qt 中不同类型的定时器。它包含以下值: **Qt::PreciseTimer:**高精度定时器,用…

netty构建udp服务器以及发送报文到客户端客户端详细案例

目录 一、基于netty创建udp服务端以及对应通道设置关键 二、发送数据 三、netty中的ChannelOption常用参数说明 1、ChannelOption.SO_BACKLOG 2、ChannelOption.SO_REUSEADDR 3、ChannelOption.SO_KEEPALIVE 4、ChannelOption.SO_SNDBUF和ChannelOption.SO_RCVBUF 5、Ch…

App Inventor 2 实现商业级APP启动屏幕效果(SplashScreen)

启动屏幕效果 实现的功能包括&#xff1a;启动App时展示启动屏&#xff0c;右上角展示5秒倒计时&#xff0c;中途可点击跳过。倒计时结束或点击跳过&#xff0c;则跳转到主界面。效果如下&#xff1a; 实现原理 App启动屏效果的实现原理及详细步骤要点如下&#xff1a; Scree…

JVM(六)——内存模型与高效并发

内存模型与高效并发 一、java 内存模型 【java 内存模型】是 Java Memory Model&#xff08;JMM&#xff09; 简单的说&#xff0c;JMM 定义了一套在多线程读写共享数据时&#xff08;成员变量、数组&#xff09;时&#xff0c;对数据的可见性、有序 性、和原子性的规则和保障…