微信小程序实现搜索历史功能


Posted in Javascript onMarch 26, 2020

结合了微信给的资料,马马虎虎摸索出了一些东西,下面说一下微信小程里序搜索历史功能的实现,下图是实现效果。

微信小程序实现搜索历史功能

首先,定义历史记录的显示风格和方式,在下用的是列表模式,没有使用什么比较酷炫的套路。

<view wx:for="{{sercherStorage}}" wx:key="item.id">
 <view class="liclass" style="color:#9E9E9E;border-bottom:0;font-size:26rpx;" id="{{item.id}}" bindtap="tapSercherStorage">
 <text style="width:100rpx">{{item.name}}</text>
 </view>
</view>

其次是“清除历史记录”按钮,个人建议在没有搜索历史的时候不显示按钮,因为在下有些强迫症

<view wx:if="{{sercherStorage.length!==0}}" style="text-align:center;" bindtap="clearSearchStorage">
 <view class="history-span">清除历史记录</view>
</view>

(微信小程序的数据交互还是蛮喜欢的)

这里是列表的CSS样式

/*搜索历史列表外部容器样式*/
 .ddclass { 
 position: absolute; 
 width: 100%; 
 margin-top: 10px; 
 left: 0; 

} 

/*搜索历史普通样式*/

 .liclass { 
 font-size: 14px; 
 line-height: 34px; 
 color: #575757; 
 height: 34px; 
 display: block; 
 padding-left: 18px; 
 background-color: #fff; 
 border-bottom: 1px solid #dbdbdb; 
}

最后是一些JS控制

1、参数声明

data: {
 sercherStorage: [],
 StorageFlag: false //显示搜索记录标志位
 }

2、两个主要的JS方法

//清除缓存历史
 clearSearchStorage: function () {
 wx.removeStorageSync('searchData')
 this.setData({
 sercherStorage: [],
 StorageFlag: false,
 })
 },
 //打开历史记录列表
 openLocationsercher: function () {
 this.setData({
 sercherStorage: wx.getStorageSync('searchData') || [], 
 StorageFlag: true,
 listFlag: true,
 })
 }

3、点击搜索添加搜索内容进历史记录

var self = this;
if(self.data.search.length == 0){
 return;
}
//控制搜索历史
var self = this;
if (this.data.search != '') {
 //将搜索记录更新到缓存
 var searchData = self.data.sercherStorage;
 searchData.push({
 id: searchData.length,
 name: self.data.search
 })
 wx.setStorageSync('searchData', searchData);
 self.setData({ StorageFlag: false, })
}

4、在进入搜索页面时,检索出缓存中的搜索历史。(适用于搜索页面是单独页面的业务)

onLoad: function (options) {
 this.openLocationsercher();
 }

5、清空历史记录,只需在上面声明搜索按钮时把”bindtap”属性值设置成写好的JS方法名即可。

更多搜索功能实现的精彩文章,请点击专题:javascript搜索功能汇总 进行学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS实现点击下载的小例子
Jul 10 Javascript
JS清除IE浏览器缓存的方法
Jul 26 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
Dec 26 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
Mar 25 Javascript
JS实现复制内容到剪贴板功能
Feb 05 Javascript
vue.js开发环境搭建教程
May 04 Javascript
Bootstrap-table使用footerFormatter做统计列功能
Sep 07 Javascript
JavaScript生成随机验证码代码实例
Sep 28 Javascript
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
JS中循环遍历数组的四种方式总结
Jan 23 Javascript
如何在CocosCreator里画个炫酷的雷达图
Apr 16 Javascript
JS实现数组去重的11种方法总结
Apr 04 Javascript
微信小程序云开发修改云数据库中的数据方法
May 18 #Javascript
小程序云开发教程如何使用云函数实现点赞功能
May 18 #Javascript
微信小程序实现元素渐入渐出动画效果封装方法
May 18 #Javascript
微信小程序收货地址API兼容低版本解决方法
May 18 #Javascript
小程序云开发获取不到数据库记录的解决方法
May 18 #Javascript
小程序云开发之用户注册登录
May 18 #Javascript
小程序云开发实现数据库异步操作同步化
May 18 #Javascript
You might like
PHP 输出缓存详解
2009/06/20 PHP
PHP Error与Logging函数的深入理解
2013/06/03 PHP
php防止sql注入代码实例
2013/12/18 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
js操作iframe兼容各种主流浏览器示例代码
2013/07/22 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
JavaScript实现简单图片翻转的方法
2015/04/17 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
js 用于检测类数组对象的函数方法
2017/05/02 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
vue+ts下对axios的封装实现
2020/02/18 Javascript
Cython 三分钟入门教程
2009/09/17 Python
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
Python构建XML树结构的方法示例
2017/06/30 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
Python paramiko模块的使用示例
2018/04/11 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
Python OpenCV读取显示视频的方法示例
2020/02/20 Python
python3 deque 双向队列创建与使用方法分析
2020/03/24 Python
Python3.7 读取音频根据文件名生成脚本的代码
2020/04/07 Python
太太口服液广告词
2014/03/20 职场文书
文秘个人求职信范文
2014/04/22 职场文书
水电站项目建议书
2014/05/12 职场文书
2019年怎样才能撰写出优秀的自荐信
2019/03/25 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
vue-cropper组件实现图片切割上传
2021/05/27 Vue.js