HarmonyOS 鸿蒙Next基于Search组件实现搜索栏

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next基于Search组件实现搜索栏
HarmonyOS的分布式文件系统让我在多设备间传输文件变得轻松无比。

关于HarmonyOS 鸿蒙Next基于Search组件实现搜索栏的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

2 回复

场景一:自定义搜索图标

方案

  1. 基于Search组件的searchIcon属性设置搜索图标,searchIcon可以设置size、color。注意:当前搜索图标不支持隐藏且不支持位置调整。

  2. 基于searchButton属性设置搜索框末尾搜索按钮。基于该属性可更改文本内容及文本样式。

核心代码


Search({ value: this.changeValue, placeholder: '请输入搜索内容', controller: this.controller })

//设置搜索框末尾搜索按钮,可修改文本内容及文本样式

.searchButton(‘搜索’,{fontSize: ‘16fp’,fontColor: ‘#3789CC’})

//更改图标样式

.searchIcon({

src: $r(‘app.media.Heart’)

})<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

场景二:自定义删除图标

方案

基于Search组件的cancelButton属性设置删除图标,cancelButton可以设置图标显示状态style以及图标size、color。注意:清除图标及搜索按钮之间的分割线目前无法隐藏。

核心代码


Search({ value: this.changeValue, placeholder: ‘请输入搜索内容’, controller: this.controller })

//设置清除图标样式

.cancelButton({

//style设置清除图标显示与隐藏

style: CancelButtonStyle.CONSTANT,

icon: {

color: Color.Red,

src: $r(‘app.media.delete’)

}

})<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

场景三:Search组件背景背景填充

方案

  1. 基于backgroundImage属性给Search组件添加背景填充。

  2. 基于backgroundImageSize属性设置背景图片大小,使得背景填充整个Search组件。

核心代码


Search({ value: this.changeValue, placeholder: ‘手机话费充值’, controller: this.controller })

// Search组件背景填充

.backgroundImage(this.isShowColor?$r(‘app.media.Beach’):undefined)

// Search组件尺寸设置

.backgroundImageSize({width:‘100%’,height: 50})<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

场景四:更改光标样式

方案

基于caretStyle更改光标样式,可更改光标width(默认值:1.5vp)、color(默认值:‘#007DFF’)。

核心代码


Search({ value: this.changeValue, placeholder: ‘请输入搜索内容’, controller: this.controller })

//更改光标样式

.caretStyle({

width: ‘3vp’,

color: ‘#9E2927’

})<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

场景五:更改Search组件圆角

方案

基于borderRadius属性设置Search组件圆角。

核心代码


Search({ value: this.changeValue, placeholder: ‘请输入搜索内容’, controller: this.controller })

//设置Search组件圆角

.borderRadius(5)<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

回到顶部