鸿蒙进阶篇-TextInput&TextArea和Checkbox
“在科技的浪潮中,鸿蒙操作系统宛如一颗璀璨的新星,引领着创新的方向。作为鸿蒙开天组,今天我们将一同踏上鸿蒙基础的探索之旅,为您揭开这一神奇系统的神秘面纱。”
各位小伙伴们我们又见面了,我就是鸿蒙开天组,下面让我们进入今天的学习,鸿蒙进阶篇-TextInput&TextArea和Checkbox
在鸿蒙开发中:
TextInput
通常是用于输入单行文本的组件,用户可以在其中输入简短的文本内容。
TextArea
则用于输入多行文本,适用于需要输入较大篇幅文本的场景。
Checkbox
是复选框组件,用于让用户在多个选项中进行多项选择,可选中或取消选中。
用户输入
日常开发中如果需要接收用户输入,就可以使用输入组件来完成
附上官方文档链接https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-textinput-V51 TextInput:单行输入框
2 TextArea:多行输入框
TextInput
单行输入框组件
TextInput(value?:{placeholder?: ResourceStr, text?: ResourceStr, controller?: TextInputController})
常用参数
参数名 | 类型 | 是否必填 | 说明 |
placeholder | 否 | 设置无输入时的提示文本。 | |
text | 否 | 设置输入框当前的文本内容。 |
常用属性
名称 | 参数类型 | 描述 |
type | InputType | 设置输入框类型。 |
showUnderline | boolean | 设置是否开启下划线。下划线默认颜色为'#33182431',默认粗细为1px,文本框尺寸48vp(下划线只支持InputType.Normal类型)。 |
passwordIcon | PasswordIcon | onIconSrc:输入状态时图标 |
placeholderColor | 设置placeholder文本颜色。 |
InputType部分枚举值
名称 | 描述 |
Normal | 基本输入模式。 可输入数字、字母、下划线、空格、特殊字符。 |
Password | 密码输入模式。支持输入数字、字母、下划线、空格、特殊字符。密码显示小眼睛图标并且默认会将文字变成圆点。密码输入模式不支持下划线样式。在已启用密码保险箱的情况下,支持用户名、密码的自动保存和自动填充。 |
| 邮箱地址输入模式。支持数字,字母,下划线,.字符,以及@字符(只能存在一个@字符)。 |
Number | 纯数字输入模式。 |
下面展示一个案例来理解:
@Entry
@Component
struct Page01_TextInput {
@State username: string = ''
@State password: string = ''
build() {
Column() {
TextInput({ placeholder: '输入用户名', text: $$this.username })
.type(InputType.Normal)
.backgroundColor(Color.Transparent)
.borderRadius(0)
.height(60)
.border({
width: { bottom: 1 }
, color: '#ccc'
})
TextInput({ placeholder: '请输入密码', text: $$this.password })
.type(InputType.Password)
.height(60)
.backgroundColor(Color.Transparent)
.borderRadius(0)
.border({
width: { bottom: 1 }
, color: '#ccc'
})
.passwordIcon({
onIconSrc: $r('app.media.ic_eyes_open'),
offIconSrc: $r('app.media.ic_eyes_close')
})
Row({ space: 20 }) {
Button('清空输入内容')
.onClick(() => {
this.username = ''
this.password = ''
})
Button('获取输入内容')
.onClick(() => {
AlertDialog.show({
message: `用户名:${this.username},密码:${this.password}`
})
})
}
.margin({ top: 10 })
}
.padding(20)
}
}
TextArea
TextArea 可以用来设置多行文本,用法和TextInput基本一致
附上官方文档链接https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-checkbox-V5
TextArea(value?:{placeholder?: ResourceStr, text?: ResourceStr, controller?: TextAreaController})
常用参数
参数名 | 类型 | 是否必填 | 说明 |
placeholder | 否 | 设置无输入时的提示文本。 | |
text | 否 | 设置输入框当前的文本内容。 |
常用属性
名称 | 参数类型 | 描述 |
type | InputType | 设置输入框类型。 |
placeholderColor | 设置placeholder文本颜色。 | |
showCounter | value: boolean, options11+?: InputCounterOptions | 参数value为true时,才能设置options,文本框开启计数下标功能,需要配合maxlength(设置最大字符限制)一起使用。 |
maxLength | number | 设置文本的最大输入字符数。 默认不设置最大输入字符数限制。 到达文本最大字符限制,将无法继续输入字符,同时边框变为红色。 |
下面展示一个案例来理解:
@Entry
@Component
struct Page02_TextArea {
@State info: string = ''
build() {
Column() {
TextArea({ placeholder: '请输入内容', text: $$this.info })
.maxLines(1)
.maxLength(100)
.showCounter(true)
.height(150)
Row({ space: 20 }) {
Button('清空输入内容')
.onClick(() => {
this.info = ''
})
Button('获取输入内容')
.onClick(() => {
AlertDialog.show({
message: this.info
})
})
}
.margin({ top: 10 })
}
.padding(20)
}
}
多选框
控制单个或者多个选项的选中状态,就可以使用 多选框组件
1 Checkbox:多选框组件
2 CheckboxGroup:多选框组,控制多个多选框
Checkbox
首先来看看多选框
附上官方文档链接https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/reference/apis-arkui/arkui-ts/ts-basic-components-checkbox.md
Checkbox(options?: CheckboxOptions)
参数CheckboxOptions说明
名称 | 类型 | 必填 | 描述 |
name | string | 否 | 用于指定多选框名称。一般结合CheckboxGroup一起使用 |
group | string | 否 | 用于指定多选框所属群组的名称(即所属CheckboxGroup的名称)。 |
常用属性
名称 | 参数类型 | 描述 |
select | boolean | 设置多选框是否选中。 默认值:false 从API version 9开始,该接口支持在ArkTS卡片中使用。 从API version 10开始,该属性支持$$ |
selectedColor | 设置多选框选中状态颜色。 说明: 默认值:$r(‘sys.color.ohos_id_color_text_primary_activated’)。 异常值按照默认值处理。 从API version 9开始,该接口支持在ArkTS卡片中使用。 | |
unselectedColor | 设置多选框非选中状态边框颜色。 | |
shape | 设置CheckBox组件形状, 包括圆形和圆角方形。 说明: 默认值:CheckBoxShape.CIRCLE。 |
下面展示一个案例来理解:
@Entry
@Component
struct Page03_Checkbox {
@State isChecked: boolean = false
build() {
Column() {
Text('选中状态:' + this.isChecked)
Row() {
Checkbox()
.borderWidth(0)
.selectedColor('#ab8b53')
.select($$this.isChecked)
Text() {
Span('已阅读并同意')
.fontColor(Color.Gray)
Span('《用户协议》')
Span('《隐私协议》')
}
.fontSize(14)
.fontColor('#0094ff')
}
Button('切换选中状态')
.onClick(() => {
this.isChecked = !this.isChecked
})
}
.padding(20)
}
}
CheckboxGroup
如果要控制多个 Checkbox 的选中状态,可以通过CheckBoxGroup来实现
附上官方文档链接https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-checkboxgroup-V5
CheckboxGroup(options?: CheckboxGroupOptions)
参数说明(CheckboxGroupOptions)
名称 | 类型 | 必填 | 说明 |
group | string | 否 | 群组名称。 说明: 多个相同群组名称的CheckboxGroup,仅第一个CheckboxGroup生效。 |
常用属性
名称 | 参数类型 | 描述 |
selectAll | boolean | 设置是否全选。 默认值:false,若同组的Checkbox |
selectedColor | 设置被选中或部分选中状态的颜色。 | |
unselectedColor | 设置非选中状态边框颜色。 |
获取选中结果
除了视觉效果实现全选和反选以外,咱们经常需要获取选中的值,接下来看看如何实现
事件
名称 | 功能描述 |
onChange (callback: (event: CheckboxGroupResult | CheckboxGroup的选中状态或群组内的Checkbox的选中状态发生变化时,触发回调。 |
CheckboxGroupResult对象说明
名称 | 类型 | 描述 |
name | Array<string> | 群组内所有被选中的多选框名称。name 属性 |
status | 选中状态。 |
下面展示一个案例来理解:
@Entry
@Component
struct Page05_CheckboxGroup {
fruits: string[] = ['西瓜', '西红柿', '西兰花', '西葫芦']
@State selectedKeys: string [] = []
build() {
Column() {
Text('选中的是:' + this.selectedKeys)
Row() {
CheckboxGroup({
group: 'food'
})
.onChange((event: CheckboxGroupResult) => {
console.log('event:', JSON.stringify(event))
this.selectedKeys = event.name
})
Text('全选')
}
Column() {
ForEach(this.fruits, (item: string, index: number) => {
Row() {
Checkbox({
name: index.toString(),
group: 'food'
})
Text(item)
}
})
}
.padding({ left: 20 })
.alignItems(HorizontalAlign.Start)
}
.padding(20)
.alignItems(HorizontalAlign.Start)
}
}
素材 :
以上是关于鸿蒙进阶篇-TextInput&TextArea和Checkbox 综合的一些内容,方便大家学习,至此,关于鸿蒙进阶篇-TextInput&TextArea和Checkbox综合的内容就介绍到这里,愿您能学以致用,开发出精彩的鸿蒙应用!
以上内容仅供学习交流,如有违法或者侵权可以联系删除。
原文地址:https://blog.csdn.net/2401_88463044/article/details/143920790
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!