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


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 相关文章推荐
基于jQuery的实现简单的分页控件
Oct 10 Javascript
使用jquery读取html5 localstorage的值的方法
Jan 04 Javascript
javascript使用for循环批量注册的事件不能正确获取索引值的解决方法
Dec 20 Javascript
jquery实现手机号码选号的方法
Jul 31 Javascript
jQuery如何获取动态添加的元素
Jun 24 Javascript
JavaScript之filter_动力节点Java学院整理
Jun 28 Javascript
react.js使用webpack搭配环境的入门教程
Aug 14 Javascript
浅谈React 服务器端渲染的使用
May 08 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
Apr 17 Javascript
bootstrap table列和表头对不齐的解决方法
Jul 19 Javascript
在Vue中实现随hash改变响应菜单高亮
Mar 09 Javascript
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
微信小程序云开发修改云数据库中的数据方法
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 curl选项列表(超详细)
2013/07/01 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
JavaScript数据结构之二叉树的删除算法示例
2017/04/13 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
angular4中引入echarts的方法示例
2019/01/29 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
Python random模块常用方法
2014/11/03 Python
浅析Python中signal包的使用
2015/11/13 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
python逆序打印各位数字的方法
2018/06/25 Python
python操作excel的方法
2018/08/16 Python
Python当中的array数组对象实例详解
2019/06/12 Python
用python做游戏的细节详解
2019/06/25 Python
python字符串格式化方式解析
2019/10/19 Python
Python 实现一个计时器
2020/07/28 Python
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
老公给老婆的道歉信
2014/01/10 职场文书
软件项目开发计划书
2014/05/01 职场文书
员工安全承诺书
2014/05/22 职场文书
道德与公民自我评价
2015/03/09 职场文书
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript