搜索功能+上键下键+存储历史搜索

2024-01-29 18:48

本文主要是介绍搜索功能+上键下键+存储历史搜索,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

直接上代码

List.vue组件
<template><div><input type="text" placeholder="请输入您要查询的数据" v-model="title" @input="search()"@keyup.enter="add()"@keyup.up="up()"@keyup.down="down()"><!-- 给input框绑定一个v-model用来接收输入的数据 给他一个input事件--><ul><li v-for="(e,i) in lists" :key="i" @click="save(i)" @mousemove="move(i)" :class="{red:num==i}"><!-- 循环遍历出来查找的数据 -->{{e.title}}</li></ul><h3>历史搜索</h3><ul><li v-for="(e,i) in lishi" :key="i"><span>{{e.title}}</span></li></ul></div>
</template><script>
export default {data(){return{title:"",list:[//随便写几个数据{ id: 1, title: "想和有趣的人一起浪费人生" },{ id: 2, title: "vue的小案列" },{ id: 3, title: "nodeJs" },{ id: 4, title: "微信小程序" },{ id: 5, title: "react" },{ id: 6, title: "仓库管理" },{ id: 7, title: "vuex" },{ id: 8, title: "redux" },{ id: 9, title: "router" },{ id: 10, title: "牛奶1" },{ id: 10, title: "牛奶2" },{ id: 10, title: "牛奶3" },{ id: 10, title: "牛奶4" },{ id: 10, title: "牛奶5" },{ id: 10, title: "牛奶6" },{ id: 10, title: "牛奶7" },{ id: 10, title: "牛奶8" },{ id: 10, title: "牛奶9" },{ id: 10, title: "牛奶10" }],lists:[],//历史搜索lishi:JSON.parse(localStorage.getItem("lishi"))||[],num:0//对应的下标}},methods:{search(){this.lists=[];//每次查找先把上次查找的清空if(this.title=="")//判断输入框是否输入内容,如果没有return false 结束{return false;}for(var i in this.list){if(this.list[i].title.indexOf(this.title) >= 0) //循环判断如果我们模拟的数据中包含我的input框输入的内容 则添加新数组里面 然后遍历出来{this.lists.push(this.list[i])}}},add(){//当点击回车的时候页面跳转 对应搜索记录var obj={title:this.title}this.lishi.push(obj);this.$router.push("/details?title="+this.title)localStorage.setItem("lishi",JSON.stringify(this.lishi))this.title=""  },save(i){var obj={title:this.lists[i].title}this.lishi.push(obj);this.$router.push("/details?title="+this.lists[i].title)localStorage.setItem("lishi",JSON.stringify(this.lishi))// this.title=""  },move(i){this.num=i;//this.title=this.lists[i].title},up(){this.num--;if(this.num<0){this.num=this.lists.length-1;}this.title=this.lists[this.num].title},down(){this.num++;if(this.num>this.lists.length-1){this.num=0}this.title=this.lists[this.num].title}}
}
</script><style lang="scss" scoped>
.red{background: #eee;
}
</style>

Details.vue组件

<template><div>跳转页面</div>
</template><script>
export default {}
</script><style lang="scss" scoped></style>

这篇关于搜索功能+上键下键+存储历史搜索的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/657858

相关文章

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

基于Java和FFmpeg实现视频压缩和剪辑功能

《基于Java和FFmpeg实现视频压缩和剪辑功能》在视频处理开发中,压缩和剪辑是常见的需求,本文将介绍如何使用Java结合FFmpeg实现视频压缩和剪辑功能,同时去除数据库操作,仅专注于视频处理,需... 目录引言1. 环境准备1.1 项目依赖1.2 安装 FFmpeg2. 视频压缩功能实现2.1 主要功

使用Python实现无损放大图片功能

《使用Python实现无损放大图片功能》本文介绍了如何使用Python的Pillow库进行无损图片放大,区分了JPEG和PNG格式在放大过程中的特点,并给出了示例代码,JPEG格式可能受压缩影响,需先... 目录一、什么是无损放大?二、实现方法步骤1:读取图片步骤2:无损放大图片步骤3:保存图片三、示php

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Java实现TXT文件导入功能的详细步骤

《Java实现TXT文件导入功能的详细步骤》在实际开发中,很多应用场景需要将用户上传的TXT文件进行解析,并将文件中的数据导入到数据库或其他存储系统中,本文将演示如何用Java实现一个基本的TXT文件... 目录前言1. 项目需求分析2. 示例文件格式3. 实现步骤3.1. 准备数据库(假设使用 mysql

Springboot项目登录校验功能实现

《Springboot项目登录校验功能实现》本文介绍了Web登录校验的重要性,对比了Cookie、Session和JWT三种会话技术,分析其优缺点,并讲解了过滤器与拦截器的统一拦截方案,推荐使用JWT... 目录引言一、登录校验的基本概念二、HTTP协议的无状态性三、会话跟android踪技术1. Cook