当前位置: 首页 > news >正文

探索鸿蒙 TextInput组件

TextInput

根据组件名字,可以得知他是一个文本输出框。

声明代码👇

TextInput({placeholder?:ResourceStr,text?:ResourceStr});

placeholder: 就是提示文本,跟网页开发中的placeholder一样的

text:输入框当前的文本内容

特殊属性:

type(inputType.xxx). 可以决定输入框的类型,xxx的值有Normal、password(密码,会加密)、Email(邮箱格式)、Number(纯数字)等

注意: 只做约束,不做校验。

输入框可以使用事件来控制用户的交互操作。 

测试

使用placeholder来控制未输入时的提示信息

使用type控制输入的类型,比如使用密码 

 当然,我们也可以是对他设置基本样式,比如背景色,宽度等

最重要的,我们可以通过事件来处理逻辑  

@Entry
@Component
struct Index {@State message: string = 'Hello World'build() {Row() {Column() {Image($r('app.media.hongmeng')).width(250)Text($r('app.string.width_label')).fontSize(30).fontWeight(FontWeight.Medium)TextInput({placeholder:'请输入图片宽度:'}).type(InputType.Password).width(300).backgroundColor("#ff0000").onChange(e=>{console.log(e)})}.width('100%')}.height('100%')}
}

 通过事件交互进行图片宽度的改变

我们通过交互事件将用户输入的数字大小赋值给imageWidth变量,再将image组件的width变成响应式的变量来完成这一操作。不过在其中要注意类型的转换。因为textinput的text属性需要的是一个字符串类型的,但是imageWidth是一个数字类型的,所以在使用的时候要考虑类型的转换。这里我使用了Number()和toString()强转。与javascript的语法相似。

@Entry
@Component
struct Index {@State message: string = 'Hello World'@State imageWidth: number = 30build() {Row() {Column() {Image($r('app.media.hongmeng')).width(this.imageWidth)Text($r('app.string.width_label')).fontSize(30).fontWeight(FontWeight.Medium)TextInput({text:this.imageWidth.toString()}).type(InputType.Number).width(150).backgroundColor("#ff0000").onChange(e=>{this.imageWidth = Number(e)})}.width('100%')}.height('100%')}
}

http://www.lryc.cn/news/255470.html

相关文章:

  • CNN,DNN,RNN,GAN,RL+图像处理常规算法(未完待续)
  • C# 语法笔记
  • el-table 表格多选(后端接口搜索分页)实现已选中的记忆功能。实现表格数据和已选数据(前端分页)动态同步更新。
  • Vue3自定义Hooks定义
  • 为什么Java程序员需要掌握多线程?揭秘并发编程的奥秘
  • 数组实现循环队列(新增一个空间)
  • Mysql 索引概念回顾
  • 基于SpringBoot+Vue学生成绩管理系统前后端分离(源码+数据库)
  • Hadoop集群破坏试验可靠性验证
  • Notepad++ 安装TextFx插件失败
  • 探究Logistic回归:用数学解释分类问题
  • 杨辉三角
  • MS5228/5248/5268:2.7V 到 5.5V、 12/14/16Bit、内置基准、八通道数模转换器
  • 2024年江苏省职业院校技能大赛 信息安全管理与评估 第二阶段教师组 (样卷)
  • 最新版IDEA专业版大学生申请免费许可证教学(无需学校教育邮箱+官方途径+非破解手段)
  • zookeeper常用接口
  • scipy笔记:scipy.interpolate.interp1d
  • 外包干了一个月,技术明显进步。。。。。
  • docker安装node及使用
  • 要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 18 章:对抗性提示
  • 若依框架的搭建
  • SQL Server 数据库,多表查询
  • 程序解释与编译
  • 聊聊 Jetpack Compose 的 “状态订阅自动刷新” -- mutableStateListOf
  • Dockerfile详解#如何编写自己的Dockerfile
  • Elasticsearch桶聚合和管道聚合
  • 联想范建平:联想混合AI架构具备两大明显优势
  • 探索Spring事件监听机制的奇妙世界
  • 什么是散列函数
  • tomcat反序列化