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


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中Promise的使用
Jun 24 Javascript
Javascript闭包实例详解
Nov 29 Javascript
jQuery+CSS实现简单切换菜单示例
Jul 27 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
Jan 08 Javascript
浅谈关于axios和session的一些事
Jul 13 Javascript
vue绑定class与行间样式style详解
Aug 16 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
Mar 02 Javascript
关闭Vue计算属性自带的缓存功能方法
Mar 02 Javascript
Layui弹出层 加载 做编辑页面的方法
Sep 16 Javascript
JavaScript检测浏览器是否支持CSS变量代码实例
Apr 03 Javascript
vue cli4下环境变量和模式示例详解
Apr 09 Javascript
原生js实现移动小球(碰撞检测)
Dec 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警告错误信息的解决方法
2013/06/03 PHP
PHP递归创建多级目录
2015/11/05 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
function, new function, new Function之间的区别
2007/03/08 Javascript
js 遍历json返回的map内容示例代码
2013/10/29 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
jQuery Dialog 取消右上角删除按钮事件
2016/09/07 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
Vue.js中数据绑定的语法教程
2017/06/02 Javascript
JavaScript复制内容到剪贴板的两种常用方法
2018/02/27 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
2019/05/26 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
Bootstrap实现前端登录页面带验证码功能完整示例
2020/03/26 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
用Python计算三角函数之acos()方法的使用
2015/05/15 Python
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
Python pymongo模块用法示例
2018/03/31 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
经济学博士求职自荐信范文
2013/11/23 职场文书
教师绩效考核方案
2014/01/21 职场文书
中学家长会邀请函
2014/02/03 职场文书
新年团拜会主持词
2014/04/02 职场文书
白酒营销策划方案
2014/08/17 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
2014红色之旅心得体会
2014/10/07 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python
golang 实用库gotable的具体使用
2021/07/01 Golang