鸿蒙5.0版开发:ArkTS基础组件(TextInput)

往期鸿蒙全套实战文章必看:


TextInput

单行文本输入框组件。

说明:

该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

接口

TextInput(value?: TextInputOptions)

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value TextInputOptions TextInput组件参数。

TextInputOptions对象说明

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数名 参数类型 必填 参数描述
placeholder ResourceStr 设置无输入时的提示文本。
text ResourceStr 设置输入框当前的文本内容。
建议通过onChange事件将状态变量与文本实时绑定,
避免组件刷新时TextInput中的文本内容异常。
从API version 10开始,该参数支持$$双向绑定变量。
controller8+ TextInputController 设置TextInput控制器。

属性

除支持通用属性文本通用属性的fontColor、fontSize、fontStyle、fontWeight、fontFamily外,还支持以下属性:

type

type(value: InputType)

设置输入框类型。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value InputType 输入框类型。
默认值:InputType.Normal

contentType12+

contentType(value: ContentType)

设置自动填充类型。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value ContentType 自动填充类型。

placeholderColor

placeholderColor(value: ResourceColor)

设置placeholder文本颜色。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value ResourceColor placeholder文本颜色。
默认值:跟随主题。

placeholderFont

placeholderFont(value?: Font)

设置placeholder文本样式,包括字体大小,字体粗细,字体族,字体风格。目前仅支持默认字体族。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value Font placeholder文本样式。

enterKeyType

enterKeyType(value: EnterKeyType)

设置输入法回车键类型。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value EnterKeyType 输入法回车键类型。
默认值:EnterKeyType.Done

caretColor

caretColor(value: ResourceColor)

设置输入框光标颜色。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value ResourceColor 输入框光标颜色。
默认值:‘#007DFF’

说明:
从API version 12开始,此接口支持设置文本手柄颜色,光标和文本手柄颜色保持一致。

maxLength

maxLength(value: number)

设置文本的最大输入字符数。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value number 文本的最大输入字符数。
默认值:Infinity,可以无限输入。
说明:
当不设置该属性或设置异常值时,取默认值,设置小数时,取整数部分。

inputFilter8+

inputFilter(value: ResourceStr, error?: (value: string) => void)

通过正则表达式设置输入过滤器。匹配表达式的输入允许显示,不匹配的输入将被过滤。仅支持单个字符匹配,不支持字符串匹配。

从API version 11开始,设置inputFilter且输入的字符不为空字符,会导致设置输入框类型(即type接口)附带的文本过滤效果失效。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value ResourceStr 正则表达式。
error (value: string) => void 正则匹配失败时,返回被过滤的内容。

copyOption9+

copyOption(value: CopyOptions)

设置输入的文本是否可复制。设置CopyOptions.None时,当前TextInput中的文字无法被复制或剪切,仅支持粘贴。

copyOption对于拖拽,只限制是否选中,不涉及拖拽范围。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value CopyOptions 输入的文本是否可复制。
默认值:CopyOptions.LocalDevice,支持设备内复制。

showPasswordIcon9+

showPasswordIcon(value: boolean)

设置当密码输入模式时,输入框末尾的图标是否显示。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value boolean 密码输入模式时,输入框末尾的图标是否显示。
默认值:true

style9+

style(value: TextInputStyle  | TextContentStyle)

设置输入框为默认风格或内联输入风格,内联输入风格只支持InputType.Normal类型。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value TextInputStyle | TextContentStyle 输入框为默认风格或内联输入风格。
默认值:TextInputStyle.Default

textAlign9+

textAlign(value: TextAlign)

设置文本在输入框中的水平对齐方式。

仅支持TextAlign.Start、TextAlign.Center和TextAlign.End。

可通过align属性控制文本段落在垂直方向上的位置,此组件中不可通过align属性控制文本段落在水平方向上的位置,即align属性中Alignment.TopStart、Alignment.Top、Alignment.TopEnd效果相同,控制内容在顶部,Alignment.Start、Alignment.Center、Alignment.End效果相同,控制内容垂直居中,Alignment.BottomStart、Alignment.Bottom、Alignment.BottomEnd效果相同,控制内容在底部。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value TextAlign 文本在输入框中的水平对齐方式。
默认值:TextAlign.Start

selectedBackgroundColor10+

selectedBackgroundColor(value: ResourceColor)

设置文本选中底板颜色。如果未设置不透明度,默认为20%不透明度。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value ResourceColor 文本选中底板颜色。
默认为20%不透明度。

caretStyle10+

caretStyle(value: CaretStyle)

设置光标风格。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value CaretStyle 光标的风格。

caretPosition10+

caretPosition(value: number)

设置光标位置。

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

参数:

参数名 类型 必填 说明
value number 光标的位置。

showUnit10+

showUnit(value: CustomBuilder)

设置控件作为文本框单位。需搭配showUnderline使用,当

### 关于鸿蒙 ArkTSTextInput 组件使用正则表达式的说明 在鸿蒙ArkTS开发环境中,`TextInput`组件可以用于接收用户的输入并对其进行验证。为了确保用户输入的数据符合特定模式,通常会采用正则表达式来进行校验。 虽然提供的参考资料中并未直接提及如何在 `TextInput` 组件内应用正则表达式[^2],但是可以根据一般的编程实践以及对其他平台的理解来构建一个合理的解决方案。下面给出一段基于假设的代码片段作为示例: ```typescript // 假设有一个名为 validateEmail 的函数用来匹配电子邮件地址格式 function validateEmail(email: string): boolean { const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return re.test(String(email).toLowerCase()); } @Entry @Component struct EmailInputExample { @State emailValue: string = ''; build() { Column({ space: 8 }) { TextInput({ placeholder: '请输入邮箱', value: this.emailValue, onChange: (value) => { this.emailValue = value; // 实时检测输入是否合法 if (!validateEmail(value)) { console.log('非法的邮件地址'); } else { console.log('有效的邮件地址'); } }, onSubmit: () => { if (validateEmail(this.emailValue)) { console.log(`提交成功, 邮箱:${this.emailValue}`); } else { console.error('错误:无效的邮箱地址'); } } }) .width('90%') .margin({ top: 16 }); }.padding(16); } } ``` 此段代码展示了如何创建一个简单的表单字段,它接受电子邮箱形式的字符串输入,并通过调用外部定义好的 `validateEmail()` 函数即时检验输入的有效性。每当用户改变输入框中的内容或是尝试提交数据时都会触发相应的处理逻辑。 需要注意的是实际项目里应当参照最新的官方文档获取最准确的支持情况和最佳做法。对于更复杂的场景可能还需要考虑更多因素比如国际化字符集支持等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值