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


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 相关文章推荐
javascript 限制输入脚本大全
Nov 03 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
Feb 27 Javascript
jQuery中:first选择器用法实例
Dec 30 Javascript
jQuery实现仿Google首页拖动效果的方法
May 04 Javascript
js实现人民币大写金额形式转换
Apr 27 Javascript
AngularJS基础 ng-paste 指令简单示例
Aug 02 Javascript
AngularJS压缩JS技巧分析
Nov 08 Javascript
Angular实现购物车计算示例代码
Feb 21 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
Jul 24 Javascript
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
vue使用监听实现全选反选功能
Jul 06 Javascript
react 应用多入口配置及实践总结
Oct 17 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生成EXCEL的东东
2006/10/09 PHP
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
RequireJS用法简单示例
2018/08/20 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
vue实现购物车案例
2020/05/30 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
python文件绝对路径写法介绍(windows)
2019/12/25 Python
Python爬取微信小程序通用方法代码实例详解
2020/09/29 Python
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
法学毕业生自荐信
2013/11/13 职场文书
财务工作检讨书
2014/10/29 职场文书
2014年小学教研工作总结
2014/12/06 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
个人工作总结怎么写?
2019/04/09 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
Java并发编程之Executor接口的使用
2021/06/21 Java/Android