//Search-index.vue是父组件,引用Header.vue子组件
//Header.vue>
<div class="search-main"><i class="iconfont icon-Magnifier"></i><form action="" onsubmit="return false" @keyup.enter="goSearchList()"><inputtype="search"placeholder="搜索您喜欢的产品"v-model="searchVal"/></form>
</div>
<div class="search-btn" @click="goSearchList()">搜索</div>data() {return {//接收传来的值searchVal: this.$route.query.key || "",searchArr: [],};},
goBack() {this.$router.back();},
goSearchList() {//如果搜索为空白,那就跳出方法直接返回if (!this.searchVal) return;//判断之前有没有搜索的本地存储if (!localStorage.getItem("searchList")) {//没有,就设置数组,但是字符串类型localStorage.setItem("searchList", "[]");} else {//之前有存储,就获取this.searchArr = JSON.parse(localStorage.getItem("searchList"));}//不管之前有没有,都要给数组增加数据this.searchArr.unshift(this.searchVal);//ES6去重let newArr = new Set(this.searchArr);//给本地存储赋值,同样转换为字符串类型,同时把newAr从对象转换为数组localStorage.setItem("searchList", JSON.stringify(Array.from(newArr)));//路径如果没有变化,则退出,不跳转页面——如果搜索时input框的值和传递过来的值是一样的if (this.searchVal === this.$route.query.key) return;//跳转页面this.$router.push({name: "list",query: {//传递input框输入的内容key: this.searchVal,},});},
//Search-index.vue
<Header></Header>
<section><!-- 有搜索记录才展示,否则显示"暂无搜索记录"--><div class="search-history" v-if="searchArr.length"><h2><i class="iconfont icon-shijian"></i><span>历史搜索</span><span @click="deleteStorage">清空历史记录</span></h2><ul><li v-for="(item, index) in searchArr" :key="index">{{ item }}</li></ul></div><div v-else>暂无搜索记录...</div>
</section>import { MessageBox } from "mint-ui";
data() {return {searchArr: [],};},
created() {this.searchArr = JSON.parse(localStorage.getItem("searchList")) || [];}
methods: {deleteStorage() {MessageBox({title: "提示",message: "确定执行此操作?",showCancelButton: true,}).then((res) => {if (res == "confirm") {//删除本地存储localStorage.removeItem("searchList");//渲染层的数组数据清空this.searchArr = [];}});},},

Vue 历史记录的本地存储 清空历史记录相关推荐

  1. 本地存储搜索历史记录工具类

    本地存储搜索历史记录 因为需要用到存储本地搜索,所以就提前写一下工具,简单说下分为3部分: 添加搜索记录 获取搜索历史记录 清空搜索记录 基本就是这么回事,代码实现也很简单, #define Reco ...

  2. vue 前端本地存储搜索历史记录,删除某条记录,清空记录

    vue 前端本地保存搜索历史,localStorage 一.保存历史的数组是由元素组成: [ "000004 SZ"] 在页面第一次加载的时候,从localStorage中获取历史 ...

  3. 【Vue 快速入门系列】Vue数据实现本地存储、自定义事件绑定、全局事件总线、$nextTick的使用

    文章目录 一.本地存储 1.概念 2.接口 3.实际操作 二.自定义事件绑定 1.自定义事件使用过程 2.绑定自定义事件的语法 3.其他注意事项 三.全局事件总线 1.全局事件总线概念 2.全局事件总 ...

  4. vue项目storage本地存储

    1.在model文件夹下面新建一个storage.js const storage = {set(key,value){sessionStorage.setItem(key,JSON.stringif ...

  5. APIS(BOM)——Window对象、本地存储

    Window对象 BOM Window对象 定时器-延时函数 js执行机制 同步任务 异步任务 执行机制 location对象 navigator 对象 histroy 对象 本地存储 本地存储分类 ...

  6. iOS-关于浏览、搜索等历史记录本地存储的思路

    前言 工具类VisitManager结构 一.Node: 二. VisitManager VisitManager数据操作流程 一.插入数据 二. 删除链表中的Node 1. 删除链表中的NodeB ...

  7. 创建vue项目(三)路由跳转、反向代理、本地存储、状态管理

    数据更新渲染,axios请求数据,配置环境 一.路由跳转 app.vue <template><div id="app"><keep-alive> ...

  8. Vue | 使用Vue脚手架 【脚手架的基本使用+ref属性+props属性+mixin混入+插件scoped样式+TodoList+浏览器本地存储+组件的自定义事件+全局事件总线+过度与动画】

    文章目录 脚手架的基本使用 初始化脚手架 分析脚手架结构 render函数 修改默认配置 ref属性 props属性 mixin混入 插件 scoped样式 Todo-list案例 组件化编码流程(通 ...

  9. react native 使用AsyncStorage 存储搜索历史记录

    React Native 版本执行0.57的规则 公共方法 /** * key-value 存储* App用到的所有存储 key 名字在此处列出并注明 例如: userInfo 用户信息* searc ...

最新文章

  1. 升级GCC 4.6后的warning: ”variable set but not used“
  2. 常见的Content-Type类型
  3. [转]网页栅格系统研究(2):蛋糕的切法
  4. 最详细的Mac下安装nacos教程来了
  5. 拔掉数据库的电源会怎样?阿里云数据库新型灾备架构,让云端容灾有“备”无患
  6. 揭秘Spring——《Spring 揭秘》读书笔记纲要
  7. 【计算机三级数据库技术】三级数据库技术应用题集锦
  8. 最新行政区划代码省市区三级 乡镇街道四级 村五级 数据库(2021年3月版 )
  9. 81、【backtrader基金策略】如果每周定投一次,在周几定投收益率更高?
  10. 前端调用后台验证码接口
  11. Linux使用grep查找文件内容
  12. 102条简短深刻的回答,看完人生豁然开朗
  13. [Python][sklearn] 使用from sklearn.neighbors import NearestNeighbors计算相似度
  14. 小米air2se耳机只有一边有声音怎么办_小米Air2 se评测,对比有线,无线,真无线,到底哪个更适合你...
  15. 7.消费者的确认机制
  16. 迷你马拉松的微博营销
  17. 导航系统设计专题(六)——松组合导航系统与紧组合导航系统
  18. 谈我们为什么学不好编程2——你是否已进入“等死模式”?
  19. 电商的千人千面系统,这样搞比较靠谱
  20. 当当活动 | 先读书,后浪

热门文章

  1. 老公总是拒绝沟通怎么办?
  2. 打印机状态返回说明(针对串口打印机)
  3. MapReduce和sparks运行wordcount案例过程分析
  4. 国内外程序员的薪资如何?年薪最高218万!人人都想当程序员
  5. [BZOJ4566][HAOI2016]找相同字符 后缀自动机
  6. r library car_第三十九讲 R语言-线性回归:自变量中存在分类变量时
  7. 每日一道面试题:Vue 组件间通信有哪几种方式?
  8. Python 带参数的装饰器
  9. 他可能是全球最会说唱的程序员
  10. 颜色转换#ffffff如何转换成RGB