需求描述

页面的查询框增加一下显示历史查找记录

实现及踩坑记录

使用Element带输入建议的输入框来实现此需求。用法详见官网

1. 坑1:不能直接在querySearch里返回数组,一定要调用回调函数cb来处理数据

看了一下例子,建议列表应该是个数组,然后我就在querySearch里直接返回了一个数组:

 querySearch(queryString, cb) {return JSON.parse(localStorage.getItem('srcOrderNoArr'))},

但是回到网页上却发现列表数据加载不出来

正确姿势:

 /*** 建议列表*/
querySearch(queryString, cb) {// 调用 callback 返回建议列表的数据cb(JSON.parse(localStorage.getItem('srcOrderNoArr')))
}
2. 坑2:数组内数据格式有要求,格式一定要是[{value: '', xxx: ''}, {value: '', xxx: ''}, ...]

这个建议列表是根据数组内的value属性值来渲染的,所以数组内的对象一定要有value键值对。比如说是这样的:

data () {return {srcOrderNoArr: [{value: '',  // 这个必须要有type: ''},{value: '',type: ''},{value: '',type: ''}]}
}
methods: {/*** 把搜索记录存入localStorage*/setIntoStorage (type) {let self = thislet noArr = [],  // 订单号历史记录数组text = '', value = ''switch (type) {case 'srcOrderNo':text = 'srcOrderNoArr'value = self.srcOrderNobreakcase 'jobOrderNo':text = 'jobOrderNoArr'value = self.jobOrderNobreakcase 'cntNo':text = 'cntNoArr'value = self.cntNobreakdefault:break}noArr.push({value: value, type: type})if(JSON.parse(localStorage.getItem(text))) {  // 判断是否已有xxx查询记录的localStorageif(localStorage.getItem(text).indexOf(value) > -1 ) {  // 判断是否已有此条查询记录,若已存在,则不需再存储return}if(JSON.parse(localStorage.getItem(text)).length >= 5) {let arr = JSON.parse(localStorage.getItem(text))arr.pop()localStorage.setItem(text, JSON.stringify(arr))}localStorage.setItem(text, JSON.stringify(noArr.concat(JSON.parse(localStorage.getItem(text)))))}else {  // 首次创建localStorage.setItem(text, JSON.stringify(noArr))}}
}

参考

  1. vue中使用localStorage存储信息
  2. element-ui带输入建议的input框踩坑

Element输入框带历史查询记录相关推荐

  1. python 输入框查询_Element输入框带历史查询记录

    需求描述 页面的查询框增加一下显示历史查找记录 实现及踩坑记录 使用Element带输入建议的输入框来实现此需求.用法详见官网 1. 坑1:不能直接在querySearch里返回数组,一定要调用回调函 ...

  2. hue mysql中文乱码_hue的历史查询记录querys乱码问题解决

    hue的历史查询记录querys乱码问题解决: master1中配置文件/home/hadoop/.versions/hue-3.10.0/desktop/conf/hue.ini 可以看到连接的是m ...

  3. vue 移动端搜索功能(带历史搜索记录)

    实现效果如图: 实现的功能: 1.点击搜索,把搜索的值存入本地记录,并展示 2.搜索相同的值,要删除旧数据,把新数据放进数组首位 3.清空历史记录 html代码: <div class=&quo ...

  4. SQL查询日志 查看数据库历史查询记录的方法

    在查询分析器中写了半天的SQL,竟忘了保存,坑爹啊~想找回某段时间曾执行过的一段SQL语句,怎么办? 好吧,到数据库日志中去找找,通过时间.关键字批配..能想到的全用上吧. 首先假定你执行过它.没有? ...

  5. 【SQL查询日志】查看数据库历史查询记录

    在查询分析器中写了半天的SQL,竟忘了保存,坑爹啊~ 想找回某段时间曾执行过的一段SQL语句,或者想看看数据库都被做过哪些更改,怎么办? 好吧,到数据库日志中去找找,通过时间.关键字批配..能想到的全 ...

  6. input输入框清楚历史搜索记录

    很多时候我们点输入框总会弹出一堆历史记录 搞得像个下拉列表似的 有时候就会要求不能出现这种情况 确实也非常简单 加个 autocomplete="off" 就好了 <inpu ...

  7. 查询SQLSERVER执行过的SQL记录(历史查询记录)

    有的时候,需要知道近段时间SQLSERVER执行了什么语句,可以用下面的方法: SELECT TOP 1000 QS.creation_time, SUBSTRING(ST.text, (QS.sta ...

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

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

  9. 请教怎么查询ORACLE的历史操作记录!

    请问如何查询ORACLE的历史操作记录!!!!! 我用的是linux oracle 11g r2,想查一下前几天的数据库的历史操作记录,例如对表的insert,delete,update等等的操作记录 ...

最新文章

  1. Nature :全球表层土壤中微生物组的结构和功能
  2. [k8s] 第八章 数据存储
  3. NSInputStream和NSMutableURLRequest-实现保存文件到服务器
  4. vue+element-ui实现数据的增删改查及分页
  5. 具有用户定义类型的format的示例用法
  6. 基于gRPC服务发现与服务治理的方案
  7. leetcode 102 C++AC
  8. Eclipse JAVA项目的 目录结构 和 导入 import菜单使用
  9. 1. UI Tests简介
  10. SQLServer:执行计划
  11. spring security oauth2.0 实现
  12. 键盘可以实现向计算机输入数据判断,计算机应用基础—学习指南.docx
  13. 摄影测量空间后方交会python实现
  14. 2017年2月28日-----------乱码新手自学.net 之特性与验证
  15. 招商证券交易系统宕机上热搜,遭深圳证监局责令整改
  16. python运行黑色窗口怎么弄_selenium+python 去除启动的黑色cmd窗口方法
  17. ps怎么抠地图线路_用PS怎么抠地图?
  18. hinge_在Swift中在iOS上重新创建Hinge的配置文件过渡
  19. 记录: 去掉String的最后一个逗号
  20. ubuntu显示器分辨率不对_Ubuntu安装事宜之一 — 屏幕分辨率问题

热门文章

  1. 洋哥也曾有很多悲惨经历
  2. 深度学习方面的学术交流平台?
  3. 手机数控模拟器安卓版_数控机床模拟器手机版下载-数控机床模拟器高级版下载v1.1.4 安卓版-单机手游网...
  4. 2022 TQLCTF nemu
  5. kissy reset css
  6. 中国眼博会,2022第五届中国国际眼视光与视力矫正品牌展会
  7. php中mktime函数,php mktime函数怎么用
  8. HTML页面的自动刷新以及跳转
  9. Origin2023学习版安装教程
  10. opencv之SURF算法原理及关键点检测