自学内容网 自学内容网

鸿蒙进阶篇-TextInput&TextArea和Checkbox

“在科技的浪潮中,鸿蒙操作系统宛如一颗璀璨的新星,引领着创新的方向。作为鸿蒙开天组,今天我们将一同踏上鸿蒙基础的探索之旅,为您揭开这一神奇系统的神秘面纱。”

各位小伙伴们我们又见面了,我就是鸿蒙开天组,下面让我们进入今天的学习,鸿蒙进阶篇-TextInput&TextArea和Checkbox

在鸿蒙开发中:

TextInput 通常是用于输入单行文本的组件,用户可以在其中输入简短的文本内容。

TextArea 则用于输入多行文本,适用于需要输入较大篇幅文本的场景。

Checkbox 是复选框组件,用于让用户在多个选项中进行多项选择,可选中或取消选中。

用户输入


日常开发中如果需要接收用户输入,就可以使用输入组件来完成
附上官方文档链接icon-default.png?t=O83Ahttps://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

ResourceStr

设置无输入时的提示文本。

text

ResourceStr

设置输入框当前的文本内容。
从API version 10开始,该参数支持$$双向绑定变量。

常用属性

名称

参数类型

描述

type

InputType

设置输入框类型。
默认值:InputType.Normal

showUnderline

boolean

设置是否开启下划线。下划线默认颜色为'#33182431',默认粗细为1px,文本框尺寸48vp(下划线只支持InputType.Normal类型)。
默认值:false

passwordIcon

PasswordIcon

onIconSrc:输入状态时图标
offIconSrc:隐藏状态时图标

placeholderColor

ResourceColor

设置placeholder文本颜色。
默认值跟随主题。

InputType部分枚举值

名称

描述

Normal

基本输入模式。 可输入数字、字母、下划线、空格、特殊字符。

Password

密码输入模式。支持输入数字、字母、下划线、空格、特殊字符。密码显示小眼睛图标并且默认会将文字变成圆点。密码输入模式不支持下划线样式。在已启用密码保险箱的情况下,支持用户名、密码的自动保存和自动填充。

Email

邮箱地址输入模式。支持数字,字母,下划线,.字符,以及@字符(只能存在一个@字符)。

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基本一致
附上官方文档链接icon-default.png?t=O83Ahttps://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-checkbox-V5

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

常用参数

参数名

类型

是否必填

说明

placeholder

ResourceStr

设置无输入时的提示文本。

text

ResourceStr

设置输入框当前的文本内容。
从API version 10开始,该参数支持$$双向绑定变量。

常用属性

名称

参数类型

描述

type

InputType

设置输入框类型。
默认值:InputType.Normal

placeholderColor

ResourceColor

设置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
首先来看看多选框
附上官方文档链接icon-default.png?t=O83Ahttps://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

ResourceColor

设置多选框选中状态颜色。 说明: 默认值:$r(‘sys.color.ohos_id_color_text_primary_activated’)。 异常值按照默认值处理。 从API version 9开始,该接口支持在ArkTS卡片中使用。

unselectedColor

ResourceColor

设置多选框非选中状态边框颜色。

shape

CheckBoxShape

设置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来实现
附上官方文档链接icon-default.png?t=O83Ahttps://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
设置了select属性,则Checkbox的优先级高。 该属性支持$$,双向绑定变量。

selectedColor

ResourceColor

设置被选中或部分选中状态的颜色。

unselectedColor

ResourceColor

设置非选中状态边框颜色。

获取选中结果
除了视觉效果实现全选和反选以外,咱们经常需要获取选中的值,接下来看看如何实现

事件

名称

功能描述

onChange (callback: (event: CheckboxGroupResult
) => void )

CheckboxGroup的选中状态或群组内的Checkbox的选中状态发生变化时,触发回调。

CheckboxGroupResult对象说明

名称

类型

描述

name

Array<string>

群组内所有被选中的多选框名称。name 属性

status

SelectStatus

选中状态。

下面展示一个案例来理解:


@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)!