前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HarmonyOS-UIAbitity-Search——【坚果派-红目香薰】

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

作者头像
红目香薰
发布2024-02-03 08:51:56
880
发布2024-02-03 08:51:56
举报
文章被收录于专栏:CSDNToQQCodeCSDNToQQCode
示例代码

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

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

示例代码

代码语言:text
复制
 @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%')
   }
 }
 
示例效果:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例代码
  • HarmonyOS-UIAbitity-Search
  • 接口
  • 属性
  • 事件
  • SearchController
    • 导入对象
      • caretPosition
      • 示例代码
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档