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

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

相关文章

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur