微信小程序 —搜索框

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 自定义搜索框如果上面两种搜索样式都不喜欢,你也可以自己定义,只需要保证事件的触发即可。
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);

四、源码地址 https://github.com/xingzaihahaha/wx.search

原文地址:https://www.cnblogs.com/chenXing-blog/p/9519934.html

时间: 2024-08-30 08:58:34

微信小程序 —搜索框的相关文章

微信小程序搜索框代码组件

search.wxml <view class="header"> <view class="search"> <icon type="search" size="18" color=""> </icon> <input type="text" confirm-type="search" bindconfirm=&

微信小程序--搜索关键词高亮

代码地址如下:http://www.demodashi.com/demo/14249.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html 1.基本需求. 实现搜索关键词高亮 2.案例目录结构 二.程序实现具体步骤 1.index.wxml代码 <!--index.wxml--> <view class="container"

微信小程序搜索排名怎么优化

微信小程序搜索排名怎么优化?小程序的发展,让众多在PC互联网时代转型受阻的企业看到了希望.大家都想利用小程序来发展线上渠道,但是小程序是如何进行搜索排名的呢?可能大家都不太了解,现在小程序开发公司多享科技为大家讲述一下. 1.小程序排名的名字(标题) 不少对网站排名seo有一定了解的都应该知道,网页排名中国有一个很重要的因素就是网页标题怎么书写.同理,小出现排名中标题的书写同样很重要.并且小程序标题在同一个平台(微信.支付宝)中具有唯一性,先注册先得哦. 2.小程序的关键词 小程序关键词设置需要

微信小程序-提示框

提示框: wx.showToast(OBJECT) 显示消息提示框 OBJECT参数说明: 示例代码: wx.showToast({ title: '成功', icon: 'success', duration: 2000 }) wx.hideToast() 隐藏消息提示框 wx.showToast({ title: '加载中', icon: 'loading', duration: 10000 }) setTimeout(function(){ wx.hideToast() },2000) w

微信小程序弹框wx.showModal如何修改样式

由于官方API提供的显示模态弹窗,只能简单地显示文字内容,不能对对话框内容进行自定义,欠缺灵活性,所以自己从模态弹窗的原理角度来实现了自定义的模态对话框. wx.showModal修改样式后的效果,如下图所示: index.wxml代码: <!--index.wxml--> <button class="show-btn" bindtap="showDialogBtn">弹窗</button> <!--弹窗--> &l

微信小程序 单选框

//index.wxml <view class="item">   <p>单选</p>   <block wx:for="{{box}}" wx:for-item="box" wx:for-index="index">     <view wx:if="{{choose==index}}">       <view bindtap=&quo

微信小程序 单选框实现

wxml: <radio-group class="radio-group" bindchange="radioChang" data-id="{{item.id}}"> <view class='ra' bindtap='next'> <radio value="1"><text>失物招领</text></radio> </view> <

两天快速开发一个自己的微信小程序

一.写在前面 1.为什么要学小程序开发? 对于前端开发而言,微信小程序因为其简单快速.开发成本低.用户流量巨大等特点,也就成了前端开发工程师必会的一个技能. 2.先放上我做的小程序 可以在微信小程序搜索"悬笔e绝",或者用微信扫描下面的二维码哦 (1)欢迎页:这个logo是当年念大学给社团做的logo,苦学了整整一周的PS啊... (2)首页:轮播头图,天气,豆瓣电影正在热映 (3)全国城市切换页 (4)天气详情页 (5)地图周边服务 (6)豆瓣电影 (7)热点新闻 (8)更多页面 3

【转】两天快速开发一个自己的微信小程序 悬笔e绝 www.xuanbiyijue.com

文章出处:https://www.cnblogs.com/xuanbiyijue/p/7980010.html 作者: 悬笔e绝 www.xuanbiyijue.com 两天快速开发一个自己的微信小程序 一.写在前面 1.为什么要学小程序开发? 对于前端开发而言,微信小程序因为其简单快速.开发成本低.用户流量巨大等特点,也就成了前端开发工程师必会的一个技能. 2.先放上我做的小程序 可以在微信小程序搜索“悬笔e绝”,或者用微信扫描下面的二维码哦 (1)欢迎页:这个logo是当年念大学给社团做的l