【鸿蒙软件开发】文本输入(TextInput/TextArea)

news/2024/5/19 1:04:24/文章来源:https://blog.csdn.net/m0_62599305/article/details/133971005

文章目录

  • 前言
  • 一、输入框
    • 1.1 创建输入框
      • 单行输入框
      • 多行输入框
      • 单行和多行输入框的区别
    • 1.2 设置输入框的类型
      • 有哪些类型
      • 基本输入模式(默认类型)
      • 密码输入模式
    • 1.3 自定义样式
      • 设置无输入时的提示文本
      • 设置输入框当前的文本内容。
      • 添加backgroundColor改变输入框的背景颜色。
  • 二、添加事件
  • 二、场景示例
  • 总结


前言

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


一、输入框

1.1 创建输入框

TextInput为单行输入框、TextArea为多行输入框。通过以下接口来创建。

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

单行输入框

TextInput()

多行输入框

TextArea()

多行输入框文字超出一行时会自动折行。

TextArea({text:"我是TextArea我是TextArea我是TextArea我是TextArea"}).width(300)

在这里插入图片描述

在这里插入图片描述

使用text参数可以设置其自带的字

单行和多行输入框的区别

在这里插入图片描述
单行不可以回车换行,多行可以

1.2 设置输入框的类型

有哪些类型

TextInput有5种可选类型,分别为Normal基本输入模式、Password密码输入模式、Email邮箱地址输入模式、Number纯数字输入模式、PhoneNumber电话号码输入模式。通过type属性进行设置:

基本输入模式(默认类型)

TextInput().type(InputType.Normal)

在这里插入图片描述

密码输入模式

TextInput().type(InputType.Password)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1.3 自定义样式

设置无输入时的提示文本

TextInput({placeholder:'我是提示文本'})TextInput({placeholder:'我是提示文本'})

在这里插入图片描述

placeholder参数可以设置提示文本
在这里插入图片描述

设置输入框当前的文本内容。

TextInput({placeholder:'我是提示文本',text:'我是当前文本内容'})

在这里插入图片描述

使用text参数可以设置当前文本内容
在这里插入图片描述

添加backgroundColor改变输入框的背景颜色。

TextInput({placeholder:'我是提示文本',text:'我是当前文本内容'}).backgroundColor(Color.Pink)

在这里插入图片描述

在这里插入图片描述

更丰富的样式可以结合通用属性实现。

二、添加事件

文本框主要用于获取用户输入的信息,把信息处理成数据进行上传,绑定onChange事件可以获取输入框内改变的内容。用户也可以使用通用事件来进行相应的交互操作。

TextInput().onChange((value: string) => {console.info(value);}).onFocus(() => {console.info('获取焦点');})

在这里插入图片描述

onChange的参数value为当前输入框的字符串

二、场景示例

用于表单的提交,在用户登录/注册页面,用户的登录或注册的输入操作。

@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)}
}

在这里插入图片描述


总结

以上就是今天要讲的内容,本文介绍了TextInput/TextArea的使用,这个控件是非常重要的对于我们输入来说

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

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

相关文章

MECE分析法

1、前言 前段时间在对项目进行问题分析的时候,领导要求要符合MECE原则,做到逻辑完整而不能遗漏。虽然没听过这个原则,但是总感觉很有道理(领导说的都对)。于是乎,就找了一些资料了解了一下。 MECE分析法是…

【Rust】4 一文讲解重点 pattern matching | trait | 生命周期 | 闭包 | 迭代器 | 智能指针 | 并发与并行

文章目录 一、pattern matching二、trait2.1 常见 trait2.1.1 Copy 和 Clone2.1.2 PartialEq 和 Eq2.1.3 PartialOrd 和 Ord2.1.4 Hash2.1.5 From, Into, TryFrom, TryInto 2.2 概念2.2.1 关联类型2.2.2 关联常量2.3.3 泛型关联类型2.3.3.1 示例: 用泛型关联类型, 创建集合工厂…

快手进与退,快手董事长在辞任前套现37.78亿港元

快手科技(1024.HK)在港交所发布公告,宣布自2023年10月29日起,公司创始人宿华将不再担任董事会董事长,而继续担任执行董事和薪酬委员会成员,而他的不同投票权将保持不变。与此同时,快手科技的现任…

爱创科技携手洽洽食品,探索渠道数字化最优解!

坚果的下半场,是从吃到喝。 消费升级大潮下,健康养生理念逐渐深入人心。以“天然健康”为核心的食品新消费潮流正加速形成,一个个打着“美味与营养”黄金设定的品类风口正被不断创建,其中人气有增无减的当属植物基饮品。据相关报告…

【蓝桥杯001】

个人名片: 🐼作者简介:一名大二在校生,喜欢编程🎋 🐻‍❄️个人主页🥇:小新爱学习. 🐼个人WeChat:hmmwx53 🕊️系列专栏:&#x1f5bc…

pv操作题目笔记

对于 pv 操作分以下几步走 什么是pv操作 PV操作在进程同步中通常指的是信号量(Semaphore)操作。信号量是一种用于控制多个并发进程或线程之间的同步和互斥访问的同步工具。PV操作通常涉及两个基本操作:P操作(wait操作&#xff0…

024-第三代软件开发-TabView

第三代软件开发-TabView 文章目录 第三代软件开发-TabView项目介绍TabView官方示例 项目实际使用 关键字: Qt、 Qml、 TabView、 关键字4、 关键字5 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Langu…

js如何解决跨域问题?

🙂博主:锅盖哒 🙂文章核心:js如何解决跨域问题? 目录 前言:跨域问题的本质 详解:跨域问题的原因和限制 跨域问题的限制包括: 用法:解决跨域问题的方法 1. JSONP(J…

Python OpenCV通过灰度平均值进行二值化处理以减少像素误差

Python OpenCV通过灰度平均值进行二值化处理以减少像素误差 前言前提条件相关介绍实验环境通过灰度平均值进行二值化处理以减少像素误差固定阈值二值化代码实现 灰度平均值二值化代码实现 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容…

异步加载 JavaScript

目录 ​编辑 前言:异步加载 JavaScript 的重要性 详解:异步加载 JavaScript 的方法 使用 使用动态创建标签: 使用模块引入(ES6模块): 解析:异步加载 JavaScript 的重要性和优势 实践和注…

【C++面向对象】3. 友元函数、友元类

文章目录 【 1. 友元函数 】【 2. 友元类 】 友元可以是一个函数,该函数被称为 友元函数;友元也可以是一个类,该类被称为 友元类。 【 1. 友元函数 】 类的 友元函数是定义在类外部,但有权访问类的所有私有(private…

【python入门篇】字符串(4)

这一章节来说下字符串的使用,字符串是 Python 中最常用的数据类型,我们可以使用单引号( )或 双引号( " )来创建字符串,那么接下来就进入本章节的一个学习。 一、环境配置 我这边python的环境是3.7.8版本的&…

《红蓝攻防对抗实战》四.内网探测协议出网之ICMP协议探测出网

目录 一.Windows系统探测ICMP协议出网 1. Ping命令 2.Tracert 命令 二.Linux系统探测ICMP协议出网 1. Ping命令 ICMP(Internet Control Message Protocol)是一种面向无连接的协议,属于网络层的协议,用于检测网络通信故障和实…

【Java集合类面试十一】、HashMap为什么用红黑树而不用B树?

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:HashMap为什么用红黑树而…

【BA-BP分类】基于蝙蝠算法优化神经网络分类研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Cesium冷知识:Sandcastle新增示例组

Cesium.js的SandCastle中有很多示例 他们根据不同类型分为不同的组 在cesium.js的源码中&#xff0c;把示例的 <meta content"自己定义新的组名">值改为自定义的组名 然后执行npm run build&#xff0c;就可以创建出一个新的组 这种方法在下面这些Cesium.js版…

vue按特定字符串切割后端传输的图片路径

一、分隔字符 /userfiles/1/attachment/null/2023/10/13967b6b8332413f92ab67735873aa76.jpg|/userfiles/1/attachment/null/2023/10/17fd6e2c16144e66b8cd3ec495e6745f.png 后端传来图片的路径是按照 | 进行分隔的 首先在return中定义数组 在methods中添加分隔方法 //将查询…

AIGC笔记--基于DDPM实现图片生成

目录 1--扩散模型 2--训练过程 3--损失函数 4--生成过程 5--参考 1--扩散模型 完整代码&#xff1a;ljf69/DDPM 扩散模型包含两个过程&#xff0c;前向扩散过程和反向生成过程。 前向扩散过程对一张图像逐渐添加高斯噪声&#xff0c;直至图像变为随机噪声。 反向生成过程…

关于AES加密输出密文不为128位的倍数的原因

今天尝试用AES-256-OFB加密一个flag结果输出的密文是43字节&#xff0c;不是128位&#xff08;16字节&#xff09;的倍数&#xff0c;代码如下&#xff1a; import os from Crypto.Cipher import AES databflag{a7ba7128-3917-4551-8260-b3499e9dd7b12} aes AES.new(os.urand…

分享5款小众且无广告的软件,走过路过别错过

你是否喜欢一些小众且无广告的软件&#xff1f;如果是的话&#xff0c;那可不要错过今天我给你们推荐的这5款软件。 1.剪贴板——ClipX ​ ClipX是一款简单实用的剪贴板程序&#xff0c;可以捕获复制到Windows剪贴板的文本和图像&#xff0c;并允许用户访问复制项的历史记录。…