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

举报
红目香薰 发表于 2024/03/31 18:22:08 2024/03/31
【摘要】 ​ 摘要作者:红目香薰团队:坚果派 团队介绍:坚果派由坚果创建,团队拥有12个华为HDE以及若干其他领域的三十余位万粉博主运营。 目录摘要HarmonyOS-UIAbitity-Search接口属性事件SearchController导入对象caretPosition示例代码HarmonyOS-UIAbitity-Search搜索框组件,适用于浏览器的搜索内容输入框等应用场景。接口Searc...

 

摘要

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

目录

摘要

HarmonyOS-UIAbitity-Search

接口

属性

事件

SearchController

导入对象

caretPosition

示例代码


HarmonyOS-UIAbitity-Search

搜索框组件,适用于浏览器的搜索内容输入框等应用场景。

接口

Search(options?: { value?: string; placeholder?: string; icon?: string; controller?: SearchController })

参数:

参数名

参数类型

必填

参数描述

value

string

搜索文本值。

placeholder

string

无输入时的提示文本。

icon

string

搜索图标路径,默认使用系统搜索图标,支持的图标格式: svg, jpg和png。

controller

SearchController

控制器。

属性

名称

参数类型

描述

searchButton

string

搜索框末尾搜索按钮文本值,默认无搜索按钮。

placeholderColor

ResourceColor

设置placeholder颜色。

placeholderFont

Font

设置placeholder文本样式。

textFont

Font

设置搜索框内文本样式。

事件

名称

功能描述

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

点击搜索图标、搜索按钮或者按下软键盘搜索按钮时触发。

-value: 当前输入文本框的内容。

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

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

-value: 当前输入文本框的内容。

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

组件触发系统剪切板复制操作。

-value: 复制的文本内容。

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

组件触发系统剪切板剪切操作。

-value: 剪切的文本内容。

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

组件触发系统剪切板粘贴操作。

-value: 粘贴的文本内容。

SearchController

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

导入对象

controller: SearchController = new SearchController()

caretPosition

caretPosition(value: number): void

设置输入光标的位置。

参数:

参数名

参数类型

必填

参数描述

value

number

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

示例代码

@Entry
@Component
struct Index {
  @State changeValue: string = '';
  @State submitValue: string = '';
  controller: SearchController = new SearchController();

  build() {
    Column() {
      Text('提交:' + this.submitValue).fontSize(18).margin(15)
      Text('修改:' + this.changeValue).fontSize(18).margin(15)
      Search({ value: this.changeValue, placeholder: '搜索...', controller: this.controller })
        .searchButton('搜索')
        .width(400)
        .height(40)
        .backgroundColor(Color.White)
        .placeholderColor(Color.Grey)
        .placeholderFont({ size: 14, weight: 400 })
        .textFont({ size: 14, weight: 400 })
        .onSubmit((value: string) => {
          this.submitValue = value;
        })
        .onChange((value: string) => {
          this.changeValue = value;
        })
        .margin(20)
      Button('设置插入位置是 1')
        .onClick(() => {
          // 设置光标位置到输入的第一个字符后
          this.controller.caretPosition(1);
        })
    }.width('100%')
  }
}

示例效果:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。