微信小程序搜索组件wxSearch


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文件中引入。

搜索框效果图2.png
3.1.3 自定义搜索框如果上面两种搜索样式都不喜欢,你也可以自己定义,只需要保证事件的触发即可。

// 搜索输入框需要保证下面三个事件的书写正确
<input bindfocus="wxSerchFocus" bindinput="wxSearchInput" bindblur="wxSearchBlur" />
// 搜索按钮的事件 <button bindtap="wxSearchFn"/>

3.2 js文件

wxSearchFn: function(e){var that = thisWxSearch.wxSearchAddHisKey(that);},wxSearchInput: function(e){var that = thisWxSearch.wxSearchInput(e,that);},wxSerchFocus: function(e){var that = thisWxSearch.wxSearchFocus(e,that);},wxSearchBlur: function(e){var that = thisWxSearch.wxSearchBlur(e,that);},wxSearchKeyTap:function(e){var that = thisWxSearch.wxSearchKeyTap(e,that);},wxSearchDeleteKey: function(e){var that = thisWxSearch.wxSearchDeleteKey(e,that);},wxSearchDeleteAll: function(e){var that = this;WxSearch.wxSearchDeleteAll(that);},wxSearchTap: function(e){var that = thisWxSearch.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,可以根据情况自己进行修改。

相关文章:
- 杨小事:微信小程序实战(二):实现搜索页面
- 知乎Live全文搜索之微信小程序实战《一》
- 知乎Live全文搜索之微信小程序实战(二)
- 微信小程序入门《四》本地缓存和搜索(附源码)

微信小程序搜索组件wxSearch相关推荐

  1. 微信小程序 MinUI 组件库系列之 abnor 异常流组件

    MinUI 是基于微信小程序自定义组件特性开发而成的一套简洁.易用.高效的组件库,适用场景广,覆盖小程序原生框架.各种小程序组件主流框架等,并且提供了高效的命令行工具.MinUI 组件库包含了很多功能 ...

  2. 小白如何上手几款微信小程序UI组件库

    文章目录 1. 环境信息 2. GO 2.1 新建项目 2.2 使用WeUI微信官方组件 2.21. 命令行进入该项目文件夹 2.22. npm初始化 2.23. npm安装该组件包 2.24.npm ...

  3. 微信小程序 MinUI 组件库系列之 abnor 异常流组件 1

    MinUI 是基于微信小程序自定义组件特性开发而成的一套简洁.易用.高效的组件库,适用场景广,覆盖小程序原生框架.各种小程序组件主流框架等,并且提供了高效的命令行工具.MinUI 组件库包含了很多功能 ...

  4. vue uniapp 微信小程序 搜索下拉框 模糊搜索

    vue uniapp 微信小程序 搜索下拉框 模糊搜索 话不多说 直接贴代码 template <template><view class="index"> ...

  5. 微信小程序搜索框实现模糊查询

    目录 前言 一.概述 二.步骤 三.效果展示 总结 前言 主要实现功能,无美化,如需请自设 一.概述 开发工具:微信开发者工具 通过对微信原生组件input绑定事件实现对已获取的列表元素模糊查询的操作 ...

  6. 微信小程序自定义组件的基本使用

    微信小程序自定义组件的基本使用 组件与模块类似,实现了功能的复用,提高开发速率,减少代码量 在开发过程中 , 总会遇到一些功能板块是相同或很类似的 .如两个不同页面都有搜索框 , 或者 导航栏等 . ...

  7. 微信小程序UI组件的推荐以及使用

    小编今天写一个微信小程序的界面,之前都是使用原声的编写页面,按照设计图编写.但是这次是编写一个微信小程序的时间选择器,让小编我自由发挥,没有设计稿(复杂的设计稿小编也是写不出来的,比如好看实用的时间选 ...

  8. 微信小程序image组件开发程序以及相关图片问题参考资料汇总

    微信小程序image组件开发程序以及相关图片问题参考资料汇总,希望对大家小程序开发能有一定的参考和借鉴价值.以下汇总主要涉及到微信小程序image组件有关资源路径.缩放和剪裁模式等进行的探讨,无论是对 ...

  9. 小程序子组件向父组件传值_一套组件化、可复用、易扩展的微信小程序 UI 组件库...

    如何使用 Wux Weapp 是一套组件化.可复用.易扩展的微信小程序 UI 组件库.在开始使用之前,需要先阅读微信小程序自定义组件的相关文档. 通过 npm 安装,需要依赖小程序基础库 2.2.1 ...

最新文章

  1. LeetCode简单题之两个数组的交集 II
  2. TestNG测试框架之失败测试重跑
  3. 分布式系统——zabbix 用 onealert实现报警、agent主动模式、proxy代理
  4. ap统计学需要什么计算机,准备AP统计学考试不需要死背公式
  5. 一个虚拟服务器装多个网站,一台虚拟主机 如何放多个网站
  6. 设置双网卡mic linux,linux双网卡绑定为逻辑网卡
  7. swift——富文本文字的简单使用
  8. 2017年初BAT的JAVA面试题汇集
  9. 蓝桥杯 C语言 试题 算法训练 猴子分苹果
  10. gabor matlab pudn,matlab-Face-recognition 基于Gabor特征提取和人工智能的人脸检测系统 271万源代码下载- www.pudn.com...
  11. 超级右键 专业版 2.1.5 中文版 Mac右键菜单扩展
  12. linux top命令 什么意思,Linux下的top命令、%cpu和cps(s)到底是什么意思呢!
  13. apache实验报告 linux_apache服务器的安装与配置实验报告.doc
  14. 51单片机按下按键数码管加一
  15. 对random.seed()函数的理解
  16. 【电脑】你了解电脑吗?
  17. 方案怎么写,才能打动客户?哪些内容才是客户眼中的干货?
  18. 软件开发工期估算系列(3)——見積もり値の「幼虫」「サナギ」「成虫」
  19. 通信MATLAB仿真毕业设计,毕业设计—基于matlab的通信系统仿真报告.doc
  20. android微信登录错误码10005,微信登录失败10005报错解决方案

热门文章

  1. Oleic acid PEG NHS,Oleic acid PEG Maleimide,油酸聚乙二醇试剂大合集
  2. mybase 用户教程
  3. Spring Boot学习之旅:(六)springboot 整合 redis 以及 redis 通用工具类
  4. 炉石传说 开包模拟器 Java
  5. 2. 深层神经网络(Deep Neural Networks)
  6. 带有like的sql语句是否会触发索引??
  7. 树莓派 ROS 学习(二)小乌龟 turtlesim
  8. 深入分析Java Web技术内幕读书笔记(一)浅析Web请求过程
  9. 【郑轻】[1837]LT说我不服
  10. 我在滴滴数据分析岗实习8个月的收获(文末附内推机会)