UI 组件
TextField
用于单行文本输入的 UI 组件。
<TextField>
是一个用于单行文本输入的 UI 组件。
对于多行文本输入,请参阅 TextView。
xml
<TextField hint="Placeholder..." />
示例
在 TextField 中格式化文本
如果您需要设置文本部分的样式,可以使用 FormattedString
和 Span
元素的组合。
xml
<TextField>
<FormattedString>
<Span text="This text has a " />
<Span text="red " style="color: red" />
<Span text="piece of text. " />
<Span text="Also, this bit is italic, " fontStyle="italic" />
<Span text="and this bit is bold." fontWeight="bold" />
</FormattedString>
</TextField>
属性
text
ts
text: string
获取或设置 TextField 的 text
。
hint
ts
hint: string
获取或设置 TextField 的占位符文本。
editable
ts
editable: boolean
设置为 false
时,TextField 为只读。
默认为 true
。
keyboardType
ts
keyboardType: CoreTypes.KeyboardType | number // "datetime" | "email" | "integer" | "number" | "phone" | "url"
获取或设置编辑此 TextField 时显示的键盘类型。
在 iOS 上,任何有效的 UIKeyboardType
数字都有效,例如
ts
keyboardType = 8 // UIKeyboardType.DecimalPad
请参阅 CoreTypes.KeyboardType,UIKeyboardType。
returnKeyType
ts
returnKeyType: CoreTypes.ReturnKeyType // "done" | "go" | "next" | "search" | "send"
获取或设置回车键的标签。
isEnabled
允许禁用 TextField。禁用的 TextField 对用户手势或输入没有反应。
默认值为 true
。
maxLength
ts
maxLength: number
将输入限制为指定字符数。
secure
ts
secure: boolean
当 true
时隐藏输入的文本。适用于密码输入字段。
默认为 false
。
secureWithoutAutofill
ts
secureWithoutAutofill: boolean
防止 iOS 12+ 自动建议强密码处理。**仅限 iOS**
默认为 false
。
autocapitalizationType
ts
autocapitalizationType: CoreTypes.AutocapitalizationType // "allCharacters" | "none" | "sentences" | "words"
获取或设置自动大写类型。
请参阅 CoreTypes.AutocapitalizationType
...继承的
有关其他继承的属性,请参阅 API 参考。
方法
focus()
ts
focus(): boolean
聚焦 TextField 并返回 true
如果聚焦成功。
dismissSoftInput()
ts
dismissSoftInput(): void
隐藏屏幕键盘。
事件
textChange
ts
on('textChange', (args: PropertyChangeData) => {
const textField = args.object as TextField
console.log('TextField text changed:', args.value)
})
输入文本更改时发出。
事件数据类型:PropertyChangeData
returnPress
ts
on('returnPress', (args: EventData) => {
const textField = args.object as TextField
console.log('TextField return key pressed.')
})
按下回车键时发出。
focus
ts
on('focus', (args: EventData) => {
const textField = args.object as TextField
console.log('TextField has been focused')
})
TextField 获得焦点时发出。
blur
ts
on('blur', (args: EventData) => {
const textField = args.object as TextField
console.log('TextField has been blured')
})
TextField 失去焦点时发出。
原生组件
- Android:
android.widget.EditText
- iOS:
UITextField