HarmonyOS-UIAbitity-TextArea——【坚果派-红目香薰】

简介: HarmonyOS-UIAbitity-TextArea——【坚果派-红目香薰】
摘要

作者:红目香薰

团队:坚果派

团队介绍:坚果派由坚果创建,团队拥有12个华为HDE以及若干其他领域的三十余位万粉博主运营。

TextArea

可以输入多行文本并支持响应部分输入事件的组件。

接口

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

参数:

参数名

参数类型

必填

参数描述

placeholder

ResourceStr

无输入时的提示文本。

text

ResourceStr

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

controller8+

TextAreaController

设置TextArea控制器。

属性

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

名称

参数类型

描述

placeholderColor

ResourceColor

设置placeholder文本颜色。

placeholderFont

Font

设置placeholder文本样式:

- size: 设置文本尺寸,Length为number类型时,使用fp单位。

- weight: 设置文本的字体粗细,number类型取值[100, 900],取值间隔为100,默认为400,取值越大,字体越粗。

- family: 设置文本的字体列表。使用多个字体,使用','进行分割,优先级按顺序生效,例如:'Arial, sans-serif'。

- style: 设置文本的字体样式。

textAlign

TextAlign

设置文本水平对齐方式。

默认值:TextAlign.Start

caretColor

ResourceColor

设置输入框光标颜色。

inputFilter8+

{

value: Resource8+,

error?: (value: string) => void

}

通过正则表达式设置输入过滤器。满足表达式的输入允许显示,不满足的输入被忽略。仅支持单个字符匹配,不支持字符串匹配。例如:^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$,不支持过滤8到10位的强密码。

- value:设置正则表达式。

- error:正则匹配失败时,返回被忽略的内容。

事件

名称

功能描述

onChange(callback: (value: string) => void)

输入发生变化时,触发回调。

onCopy8+(callback:(value: string) => void)

长按输入框内部区域弹出剪贴板后,点击剪切板复制按钮,触发回调。

- value:复制的文本内容1。

onCut8+(callback:(value: string) => void)

长按输入框内部区域弹出剪贴板后,点击剪切板剪切按钮,触发回调。

- value:剪切的文本内容。

onPaste8+(callback:(value: string) => void)

长按输入框内部区域弹出剪贴板后,点击剪切板粘贴按钮,触发回调。

- value:粘贴的文本内容。

TextAreaController8+

TextArea组件的控制器,通过它操作TextArea组件。

导入对象

controller: TextAreaController = new TextAreaController()

caretPosition8+

caretPosition(value: number): void

设置输入光标的位置。

参数:

参数名

参数类型

必填

参数描述

value

number

从字符串开始到光标所在位置的字符长度。

代码示例:

@Entry

@Component

struct Index {

 controller: TextAreaController = new TextAreaController()

 @State text: string = ''

 build() {

   Column() {

     TextArea({ placeholder: '你要输入的单词', controller: this.controller })

       .placeholderColor("rgb(0,0,225)")

       .placeholderFont({ size: 20, weight: 100, family: 'cursive', style: FontStyle.Italic })

       .textAlign(TextAlign.Center)

       .caretColor(Color.Blue)

       .fontSize(30)

       .fontWeight(FontWeight.Bold)

       .fontFamily("sans-serif")

       .fontStyle(FontStyle.Normal)

       .fontColor(Color.Red)

       .inputFilter('^[\u4E00-\u9FA5A-Za-z0-9_]+$', (value: string) => {

         console.info("显示" + value)

       })

       .onChange((value: string) => {

         this.text = value

         this.controller.caretPosition(-1)

       })

     Text(this.text).width('90%')

   }

 }

}

相关文章
|
5月前
HarmonyOS-UIAbitity-Text——【坚果派-红目香薰】
HarmonyOS-UIAbitity-Text——【坚果派-红目香薰】
24 0
|
5月前
HarmonyOS-UIAbitity-StepperItem——【坚果派-红目香薰】
HarmonyOS-UIAbitity-StepperItem——【坚果派-红目香薰】
28 0
|
5月前
|
索引
HarmonyOS-UIAbitity-Stepper——【坚果派-红目香薰】
HarmonyOS-UIAbitity-Stepper——【坚果派-红目香薰】
33 0
|
5月前
HarmonyOS-UIAbitity-Span——【坚果派-红目香薰】
HarmonyOS-UIAbitity-Span——【坚果派-红目香薰】
41 0
|
5月前
HarmonyOS-UIAbitity-Slider——【坚果派-红目香薰】
HarmonyOS-UIAbitity-Slider——【坚果派-红目香薰】
30 0
|
5月前
|
索引
HarmonyOS-UIAbitity-Select——【坚果派-红目香薰】
HarmonyOS-UIAbitity-Select——【坚果派-红目香薰】
36 0
|
4天前
|
Android开发
鸿蒙开发:自定义一个简单的标题栏
本身就是一个很简单的标题栏组件,没有什么过多的技术含量,有一点需要注意,当使用沉浸式的时候,注意标题栏的位置,需要避让状态栏。
鸿蒙开发:自定义一个简单的标题栏
|
4天前
|
API
鸿蒙开发:切换至基于rcp的网络请求
本文的内容主要是把之前基于http封装的库,修改为当前的Remote Communication Kit(远场通信服务),无非就是通信的方式变了,其他都大差不差。
鸿蒙开发:切换至基于rcp的网络请求
|
9天前
|
UED
鸿蒙next版开发:相机开发-适配不同折叠状态的摄像头变更(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了强大的相机开发能力,特别是针对折叠屏设备的摄像头适配。本文详细介绍了如何在ArkTS中检测和适配不同折叠状态下的摄像头变更,确保相机应用在不同设备状态下的稳定性和用户体验。通过代码示例展示了具体的实现步骤。
35 8
|
9天前
|
API 内存技术
鸿蒙next版开发:相机开发-拍照(ArkTS)
在HarmonyOS 5.0中,ArkTS提供了一套完整的API来管理相机功能,特别是拍照功能。本文详细介绍如何在ArkTS中实现拍照功能,包括导入接口、创建会话、配置会话、触发拍照及监听拍照输出流状态,并提供代码示例进行详细解读。通过本文,你将掌握如何在HarmonyOS 5.0中使用ArkTS实现高效的拍照功能。
29 7