微信小程序搜索组件wxSearch实例详解
发布时间 - 2026-01-11 01:47:47 点击率:次wxSearch优雅的微信小程序搜索框

一、功能
支持自定义热门key
支持搜索历史
支持搜索建议
支持搜索历史(记录)缓存
二、使用
1、将wxSearch文件夹整个拷贝到根目录下
2、引入
// wxml中引入模板
<import src="/wxSearch/wxSearch.wxml"/>
<template is="wxSearch" data="{{wxSearchData}}"/>
// wxss中引入 @import "/wxSearch/wxSearch.wxss";
3、使用3.1 wxml文件这里有两种模板:一种为wxSearch作者提供的模板,另一种是weui提供的模板。
3.1.1 第一种模板
// wxSearch作者提供的模板
<import src="/wxSearch/wxSearch.wxml"/>
<view class="wxSearch-section">
<view class="wxSearch-pancel">
<input bindinput="wxSearchInput" bindfocus="wxSerchFocus" value="{{wxSearchData.value}}" bindblur="wxSearchBlur" class="wxSearch-input" placeholder="搜索" />
<button class="wxSearch-button" bindtap="wxSearchFn" size="mini" plain="true">搜索</button>
</view>
</view>
<template is="wxSearch" data="{{wxSearchData}}"/>
3.1.2 第二种模板
<import src="../../wxSearch/wxSearch.wxml" />
<view class="weui-search-bar">
<view class="weui-search-bar__form">
<view class="weui-search-bar__box">
<icon class="weui-icon-search_in-box" type="search" size="14"></icon>
<input type="text" class="weui-search-bar__input" placeholder="搜索" value="{{wxSearchData.value}}" bindfocus="wxSerchFocus" bindinput="wxSearchInput" bindblur="wxSearchBlur" />
<view class="weui-icon-clear" wx:if="{{inputVal.length > 0}}" bindtap="clearInput">
<icon type="clear" size="14"></icon>
</view>
</view>
</view>
</view>
<template is="wxSearch" data="{{wxSearchData}}" />
注意:此模板需要使用weui.wxss文件,请在app.wxss文件中引入。
3.1.3 自定义搜索框如果上面两种搜索样式都不喜欢,你也可以自己定义,只需要保证事件的触发即可。
// 搜索输入框需要保证下面三个事件的书写正确 <input bindfocus="wxSerchFocus" bindinput="wxSearchInput" bindblur="wxSearchBlur" /> // 搜索按钮的事件 <button bindtap="wxSearchFn"/>
3.2 js文件
wxSearchFn: function(e){
var that = this
WxSearch.wxSearchAddHisKey(that);
},
wxSearchInput: function(e){
var that = this
WxSearch.wxSearchInput(e,that);
},
wxSerchFocus: function(e){
var that = this
WxSearch.wxSearchFocus(e,that);
},
wxSearchBlur: function(e){
var that = this
WxSearch.wxSearchBlur(e,that);
},
wxSearchKeyTap:function(e){
var that = this
WxSearch.wxSearchKeyTap(e,that);
},
wxSearchDeleteKey: function(e){
var that = this
WxSearch.wxSearchDeleteKey(e,that);
},
wxSearchDeleteAll: function(e){
var that = this;
WxSearch.wxSearchDeleteAll(that);
},
wxSearchTap: function(e){
var that = this
WxSearch.wxSearchHiddenPancel(that);
}
3.3 效果图
三、源码解读
module.exports = {
init: init,
initColor: initColors,
initMindKeys: initMindKeys,
wxSearchInput: wxSearchInput,
wxSearchFocus: wxSearchFocus,
wxSearchBlur: wxSearchBlur,
wxSearchKeyTap: wxSearchKeyTap,
wxSearchAddHisKey:wxSearchAddHisKey,
wxSearchDeleteKey:wxSearchDeleteKey,
wxSearchDeleteAll:wxSearchDeleteAll,
wxSearchHiddenPancel:wxSearchHiddenPancel
}
init 初始化wxSearch
参数:that var that = this后传入即可
barHeight 搜索框高度 根据你设定的搜索框高度进行设定
keys 数组 热门搜索的显示内容
isShowKey 是否显示热门搜索 默认显示(false即可不显示)
isShowHis 是否显示历史搜索 默认显示(false即可不显示)
callBack 回调函数
源码做了什么
初始化了wxSearchData的内容
wxSearchData:{
view:{
isShow: false, //是否显示搜索界面,默认隐藏,当输入框获取焦点时显示
searchbarHeght: 20, //根据手机屏幕高度和传入的barHeight进行计算
isShowSearchKey: true, //默认为true
isShowSearchHistory: true, //默认为true }
keys:[],//自定义热门搜索,传入的keys
his:[],//历史搜索关键字,从缓存中获取
value: '' // 搜索内容 }
wxSearch.init(that, barHeight, keys, isShowKey, isShowHis, callBack);
initMindKeys 初始化mindKeys
// mindKeys即为所要检索内容的集合 var mindKeys = ['weappdev.com','微信小程序开发','微信开发','微信小程序']; WxSearch.initMindKeys(mindKeys);
其他事件函数不再赘述,可能会有一些bug,可以根据情况自己进行修改。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# 微信小程序搜索组件wxSearch
# 小程序
# wxSearch
# 微信小程序实现搜索功能
# 微信小程序首页的分类功能和搜索功能的实现思路及代码详解
# 微信小程序下拉框搜索功能的实现方法
# 微信小程序实现搜索功能并跳转搜索结果页面
# 微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
# 微信小程序实现全局搜索代码高亮的示例
# 微信小程序实现搜索历史功能
# 微信小程序 搜索框组件代码实例
# 微信小程序实现搜索框功能
# 微信小程序实现简单搜索功能
# 自定义
# 热门搜索
# 可不
# 输入框
# 默认为
# 都不
# 两种
# 请在
# 希望能
# 只需要
# 有两种
# 谢谢大家
# 可以根据
# 所要
# 你也可以
# 即为
# 回调
# 第二种
# 第一种
# 程序开发
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
Android自定义控件实现温度旋转按钮效果
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
如何在景安云服务器上绑定域名并配置虚拟主机?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
jQuery中的100个技巧汇总
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
千库网官网入口推荐 千库网设计创意平台入口
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
如何快速配置高效服务器建站软件?
黑客如何利用漏洞与弱口令入侵网站服务器?
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
如何快速登录WAP自助建站平台?
Laravel Docker环境搭建教程_Laravel Sail使用指南
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
在Oracle关闭情况下如何修改spfile的参数
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
Laravel怎么在Controller之外的地方验证数据
C++时间戳转换成日期时间的步骤和示例代码
iOS UIView常见属性方法小结
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
如何快速搭建高效香港服务器网站?
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
七夕网站制作视频,七夕大促活动怎么报名?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Python3.6正式版新特性预览
如何快速搭建自助建站会员专属系统?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
*服务器网站为何频现安全漏洞?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
三星、SK海力士获美批准:可向中国出口芯片制造设备
javascript基于原型链的继承及call和apply函数用法分析
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
实现点击下箭头变上箭头来回切换的两种方法【推荐】
详解vue.js组件化开发实践
如何选择PHP开源工具快速搭建网站?
php485函数参数是什么意思_php485各参数详细说明【介绍】
如何在IIS管理器中快速创建并配置网站?
如何在橙子建站中快速调整背景颜色?
Linux系统命令中tree命令详解
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
原生JS获取元素集合的子元素宽度实例
韩国服务器如何优化跨境访问实现高效连接?
Java遍历集合的三种方式
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用

