场景:搜索页,搜索栏下方的历史搜索

场景分析:每次搜索的关键词都要放到历史搜索里面,首页关键词是要定义的keyname,这个关键词可以放到cookie或者sessionStory里面,我用的uniapp,放到了本地缓存里面,实现方式:

  • 获取搜索词
  • 添加历史搜索
  • 清除历史搜索

获取历史搜索,代码中去掉重复的搜索词

 getHistory(keyname) {let that = thislet words = ''if(uni.getStorageSync(keyname)) { //判断缓存中存没存搜索词words =  JSON.parse(uni.getStorageSync(keyname))}if(!words){return []}for (let i = 0; i < words.length; i++) {if (words[i] == "" || typeof(words[i]) == "undefined" || words[i] == "") {words.splice(i,1)i= i-1}}return words},

添加历史搜索,先从getHistory中取搜索词words,然后看历史搜索词中是否包括关键词(就是自己输入的关键词),没有添加,有了删除,然后再将keyname重新放入storage中。

 addToHistory(keyname , keyword) {let that = thislet words = that.getHistory(keyname)let has = words.includes(keyword)if (!has) {// 数组末尾 删除 , keyword 数组第一位let length = words.lengthif (length >= maxLength){words.pop()}words.unshift(keyword)uni.setStorageSync(keyname,JSON.stringify(words))}},

清除关键词,从缓存中移除就可以

 clearHistory(keyname) {uni.removeStorageSync(keyname)}

页面中渲染:

  • 首先import上面封装的js
  • 然后再data中定义historySearch:‘’
  • 然后再onshow中去调用
  • 页面中直接v-for循环historySearch
  <view class="search-touch" v-if="historySearch.length"><view class="hot-search"><view class="hot-tit">历史搜索</view><view class="hot-con clearfix"><view class="item" v-for="(item, index) in historySearch" :key="index" @click="goSearch(item)">{{ item }}</view></view></view></view>
  onShow() {//获取历史搜索this.historySearch = getHistory();},

总结:简单的几个方法就直接前端自己处理了历史搜索的问题。

uniapp 前端获取历史搜索记录相关推荐

  1. App开发-使用Vue3+Vant组件实现历史搜索记录功能

    使用Vue3+Vant组件实现App历史搜索记录功能 最近在开发一款新的app项目,我自己也是第一次接触app开发,经过团队的一段时间研究调查,决定使用Vue3+Vant前端组件的模式进行开发,vue ...

  2. uni-app使用setStorageSync存储历史搜索记录,与setStorage区别

    一.setStorageSync与setStorage的区别 都可以将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容. setStorageSync:同步接口,需要 ...

  3. 微信小程序实现历史搜索记录的本地储存和删除

    输入框和搜索按钮表单的wxml,没啥特别的,这里绑定了输入框的输入值,样式我就不放上来了 <form class='searchForm' bindsubmit='searchSubmitFn' ...

  4. Android 天气APP(十五)增加城市搜索、历史搜索记录

    上一篇:Android 天气APP(十四)修复UI显示异常.优化业务代码逻辑.增加详情天气显示 添加城市 新版------------------- 一.推荐城市数据 二.推荐城市item布局和适配器 ...

  5. Android简单实现搜索功能 显示清除历史搜索记录

    本文主要为大家分享了Android实现搜索功能,并且可以实时显示搜索的历史记录,根据输入的内容去模糊查询,供大家参考,界面图如下. 本案例实现起来也非常的简单,所以可以直接拿来嵌入项目中使用,主要涉及 ...

  6. Android常用:手把手教你实现搜索框(含历史搜索记录)

    http://blog.csdn.net/carson_ho/article/details/53366570 前言 像下图的搜索功能在Android开发中非常常见 今天我将手把手教大家如何实现具备历 ...

  7. Android开源实战:SearchView搜索框(含历史搜索记录)

    前言 Android开发中,类似下图的搜索功能非常常见 搜索功能 今天,我将手把手教大家实现一款 封装了 历史搜索记录功能 & 样式 的Android 自定义搜索框 开源库,希望你们会喜欢. ...

  8. 实现历史搜索记录和搜索功能

    uniapp实现搜索功能和搜索历史记录 <template><view class="content"><!-- 搜索引擎 这里是模糊查询,后续会加上 ...

  9. Android开源实战:简单好用、含历史搜索记录的智能搜索框

    前言 Android开发中,类似下图的搜索功能非常常见 今天,我将带来一款 封装了 历史搜索记录功能 & 样式 的Android 自定义搜索框 开源库,希望你们会喜欢. 已在Github开源: ...

  10. Android原生控件SearchView实现历史搜索记录

    SearchView实现搜索记录看了一些大神写的贴子简单实现, 但我们功能 需要单独删除一条历史搜索记录,好像没在网上找到解决方案,原生方法上也只有suggestions.clearHistory() ...

最新文章

  1. 在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
  2. 解决Fckeditor删除所有上传页面如何上传
  3. RxAndroid2 / RxJava2简单的CompletableObserver
  4. Netty防止内存泄漏措施
  5. 如何在DC机上禁用成员机的本地账号
  6. happens-before
  7. [原创]mybatis中整合ehcache缓存框架的使用
  8. 人脸检测算法_腾讯已开源高精度人脸检测算法DSFD
  9. 猜数游戏c语言编程_做游戏,学编程(C语言) 10 僵尸危机
  10. c语言中printf输出格式
  11. 查看各类型数据库版本的SQL(Oracle/DB2/SQL Server/PG/MySQL)
  12. 【图像融合】简单认识图像融合
  13. R语言-解决for modifying Try removing ‘00LOCK’的问题
  14. 网易严选App感受Weex开发
  15. Bootstrap下拉单选框,下拉搜索多选框Bootstrap-select
  16. setex php,python redis setex可以设value为list或者其他数据结构吗?
  17. MAC压缩文件 密码 加密ZIP
  18. RealView MDK的指定位置
  19. 【Niagara Vykon N4 】物联网学习 01 Station创建
  20. 在服务器上安装Linux系统

热门文章

  1. write-through与write-back的区别
  2. 微信邮箱登录入口,企业微信企业邮箱,企业邮箱登陆入口
  3. springboot bootcdn使用
  4. ViewPager的翻页动画
  5. 数据结构 常见排序算法 LOWB三人组 冒泡 选择 插入
  6. 离散数学——coq学习笔记(二)
  7. maxima得到简化行阶梯矩阵(RREF)
  8. Android drawable微技巧,你所不知道的drawable的那些细节
  9. AR涂涂乐⭐六、 UGUI精灵格式、自动延迟截图、优化“4”、移出扫描框终止截图进程
  10. 第二章---《实时语音处理实践指南》发音机理与器件学习笔记