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

需求描述

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

实现及踩坑记录

使用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 = this

let noArr = [], // 订单号历史记录数组

text = '', value = ''

switch (type) {

case 'srcOrderNo':

text = 'srcOrderNoArr'

value = self.srcOrderNo

break

case 'jobOrderNo':

text = 'jobOrderNoArr'

value = self.jobOrderNo

break

case 'cntNo':

text = 'cntNoArr'

value = self.cntNo

break

default:

break

}

noArr.push({value: value, type: type})

if(JSON.parse(localStorage.getItem(text))) { // 判断是否已有xxx查询记录的localStorage

if(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))

}

}

}

参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551607.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双代号网络图基础算法_软考网络工程师之系统开发和运行基础(软件分类、测试、模型)...

系统开发和运行基础(软件的分类、软件生存周期、软件开发模型、软件测试、软件项目管理)软件的分类系统软件,如操作系统。支撑软件,如开发工具。应用软件,如office。实时处理软件,一般是工业软件。软件生存周期1、软件定义问题定义…

linux怎么添加更新源,在Deepin 15.7系统中不需要在/etc/apt/sources.list添加更新源

Deepin 15.7和其他的Linux发行版在添加/etc/apt/sources.list更新源上明显不同,比如Ubuntu 18.04可以往该文件中添加国内的高速更新源,如Ubuntu 18.04更换国内高速源一文介绍的,而在Deepin 15.7系统中的/etc/apt/sources.list手动添加更新源后…

embedv.php_PHP与视频播放插件功能实现,非常简单

PHP与视频播放插件功能实现,非常简单龙行 PHP 2018-8-28 2579 0评论最近在研究maccms所以会接触到这个ckplayer播放器,那么如何php与视频播放器插件的功能,说白了就是前端是播放器的插件,直接调用后端传递过来的播放地…

python安卓版开发环境搭建_React Native Android 开发环境搭建(Windows 版)

补上之前说的 Windows 系统的 React Native 开发环境搭建,坑还是比 Mac 环境下的多些。此文的受众还是已经搭建过 Android 开发环境的同学。 需要安装的软件 Chocolatey Chocolatey是一个在 Windows 上比较受欢迎的包管理器,安装命令如下: 1 …

linux 的内核参数优化,Linux服务器内核参数优化

Linux服务器内核参数优化cat >> /etc/sysctl.conf << EOF#kernel optimizationnet.ipv4.tcp_fin_timeout 2net.ipv4.tcp_tw_reuse 1net.ipv4.tcp_tw_recycle 1net.ipv4.tcp_syncookies 1net.ipv4.tcp_keepalive_time 600net.ipv4.ip_local_port_range 4000 6…

aspen求理论塔板数_aspen 塔设计

果。方法&#xff1a;对第 5 步的计算结果(如&#xff1a;塔径等)按设计规范要求进行必要的圆整&#xff0c;用 RateFrace 或 RateFrace 模块的Tray Rating(填料塔用PAking Sizing)&#xff0c;对塔进行设计核算。结果&#xff1a;塔工艺设计的所有需要的结果。如果仅是完成设计…

在学Python前学Linux,Python原来这么好学-1.2节: 在Linux中安装python

这里将告诉您Python原来这么好学-1.2节: 在Linux中安装python,具体操作过程:在Linux系统的主要发行版中&#xff0c;按其软件包格式来进行划分&#xff0c;可分为Deb系以及RPM系操作系统。Linux系统与Windows系统有一个很重要的区别&#xff0c;Linux系统完全免费&#xff0c;开…

python关键字的意思_python 关键字(Keywords)

2018-04-30 python 关键字&#xff08;Keywords&#xff09; 声明&#xff1a;本文章大部分来自下面博客&#xff0c;对其作者表示感谢。以后会有详细的关键字说明。 1、and&#xff1a; 表示逻辑‘与’ 2、del&#xff1a; 用于list列表操作&#xff0c;删除一个或者连续几个元…

python modulenotfounderror_python 服务器运行代码报错ModuleNotFoundError的解决办法

一、问题描述一段 Python 代码在本地的 IDE 上运行正常&#xff0c;部署到服务器运行后&#xff0c;出现了 ModuleNotFoundError: No module named ‘xxx" 错误。二、问题原因在代码中引入了其他文件的包(自己写的包&#xff0c;非 pip 安装的)&#xff0c;问题出在 impor…

python金融大数据分析视频_Python金融大数据分析 PDF 全书超清版

给大家带来的一篇关于Python相关的电子书资源&#xff0c;介绍了关于Python金融、大数据分析方面的内容&#xff0c;本书是由人民邮电出版社出版&#xff0c;格式为PDF&#xff0c;资源大小47.8 MB&#xff0c;希尔皮斯科编写&#xff0c;目前豆瓣、亚马逊、当当、京东等电子书…

linux批量切割图片,MAC中用Shell脚本批量裁剪各种尺寸的App图标

在APP上架前&#xff0c;一次一次自己剪裁上架需要的各个尺寸的Icon不是程序员该干的事&#xff0c;使用Mac中自带的sips工具可以解决这个需求。关于sips&#xff0c;在终端中直接执行可以出现以下信息&#xff1a;sips 10.4.4 - scriptable image processing system.This tool…

刘卫国python实验答案_MATLAB(刘卫国)部分实验答案

实验3第一题&#xff1a;clear allm[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];for xmif x<0&x~-3y1x^2x-6;disp([y ,num2str(y1)])elseif x>0&x<5&x~2&x~3y2x^2-5*x6;disp([y ,num2str(y2)])elsey3x^2-x-1;disp([y ,num2str(y3)])endend第二题&#xff1a;cle…

kaggle房价预测特征意思_机器学习-kaggle泰坦尼克生存预测(一)-数据清洗与特征构建...

1、背景&#xff1a;1.1 关于kaggle&#xff1a;谷歌旗下的 Kaggle 是一个数据建模和数据分析竞赛平台。该平台是当下最流行的数据科研赛事平台&#xff0c;其组织的赛事受到全球数据科学爱好者追捧。 如果学生能够在该平台的一些比赛中获得较好的名次&#xff0c;不仅可以赢得…

linux docker安装svn,使用docker镜像搭建svn+Apache环境

环境准备虚拟机装好之后&#xff0c;按照官网步骤检查虚拟机内核版本&#xff0c;必须在3.10以上版本&#xff0c;故此处安装redhat_7.2# uname -r3.10.0-327.el7.x86_64安装docker&#xff1a;yum install docker-io有依赖是直接安装具体的依赖软件&#xff0c;解决依赖docker…

感恩工作平台心得体会_感恩工作心得体会6篇

2016全新精品资料-全新公文范文-全程指导写作–独家原创1/9感恩工作心得体会6篇感恩是世界最美好的语言&#xff0c;是心中最美的境界。感恩不但是一种美德&#xff0c;也是我们工作中必须要有的一种心态。下面是美文网带来的感恩工作的心得体会&#xff0c;仅供参考。感恩工作…

springboot 设置ico_Spring Boot--Thymeleaf模板引擎/静态页面

点关注&#xff0c;不迷路&#xff1b;持续更新Java相关技术及资讯&#xff01;&#xff01;&#xff01;1.Spring Boot对静态资源的映射规则如果静态资源文件夹下有 index.html的话,直接访问localhost:8080的话,index就是欢迎页使用自己的图标:在静态资源文件夹放一个 favicon…

linux shell 豆瓣,用Linux shell脚本爬取豆瓣邮箱

前两天总结一下邮箱格式的正则表达式&#xff0c;写了一个脚本来判断输入的邮箱地址是否符合邮箱的格式(有兴趣的朋友可以翻一下我的博客去看一下)。在网上找资料的时候&#xff0c;发现基本都是用Python和Java来做爬虫&#xff0c;当然Python的居多。本着学习的心态&#xff0…

php 获取header_php 输出404状态码

今天在做一个php数据提交的小功能时&#xff0c;需要在判断一个值是如果为空时&#xff0c;就让后台的逻辑页面返回 404 状态码&#xff0c;提示用户页面不存在。那么接下来&#xff0c;飞鸟慕鱼博客要说的是 php 如何返回或输出 html 404 的状态码。php header()函数header()&…

python如何使用字典_Python-如何使用点“。” 访问字典成员?

小编典典 你可以使用我刚刚制作的此类来做。通过此类&#xff0c;你可以Map像其他字典&#xff08;包括json序列化&#xff09;一样使用该对象&#xff0c;也可以使用点符号。希望对你有所帮助&#xff1a; class Map(dict): """ Example: m Map({first_name: …

getcwd和pwd为什么不一样_农村医保,为什么每个地区收费不一样?

新农村合作医疗保险的缴费标准&#xff0c;为什么每个地区都不一样呢&#xff1f;我们可能不难发现&#xff0c;就是说你在的地区每年交费可能是280元&#xff0c;但是别的人在的地区可能交费达到了306元或者说320元&#xff0c;这究竟是一种什么样的情况呢&#xff1f;其实每个…