uniapp简单实现搜索--历史记录功能

点击搜索时候,将搜索的值存入本地记录并展示,并且有清空历史记录功能。
代码直接贴上:

<template><view><!-- 搜索框 --><view class="search"><view style="display: flex;align-items: center;"><text class="iconfont icon-sousuo position-absolute text-muted"></text><input class="searchInput" v-model="inputValue" @confirm="search" placeholder="搜索" type="text" /></view><view>取消</view></view><!-- 搜索框 --><!-- 搜索历史 --><view class="searchHistory"><view style="display: flex;align-items: center;justify-content: space-between;box-sizing: border-box;padding: 0px 5px;"><view>搜索历史:</view><view style="color: red;font-size: 28px;" @click="empty">×</view></view><view class="searchHistoryItem"><view v-for="(item, index) in searchHistoryList" :key="index"><text>{{ item }}</text></view></view></view><!-- 搜索历史 --></view>
</template><script>
export default {data() {return {inputValue: '',searchHistoryList: [] //搜索出来的内容};},methods: {search() {if (this.inputValue == '') {uni.showModal({title: '搜索内容不能为空'});} else {if (!this.searchHistoryList.includes(this.inputValue)) {this.searchHistoryList.unshift(this.inputValue);uni.setStorage({key: 'searchList',data: JSON.stringify(this.searchHistoryList)});} else {//有搜索记录,删除之前的旧记录,将新搜索值重新push到数组首位let i = this.searchHistoryList.indexOf(this.inputValue);this.searchHistoryList.splice(i, 1);this.searchHistoryList.unshift(this.inputValue);uni.showToast({title: '不能重复添加'});uni.setStorage({key: 'searchList',data: JSON.stringify(this.searchHistoryList)});}}},//清空历史记录empty() {uni.showToast({title: '已清空'});uni.removeStorage({key: 'searchList'});this.searchHistoryList = [];}},async onLoad() {let list = await uni.getStorage({key: 'searchList'});// console.log(list,'历史记录----');if(list[1]&&list[1].data.length>0){			this.searchHistoryList = JSON.parse(list[1].data);}}
};
</script><style>
.search {width: 100%;height: 30px;display: flex;align-items: center;justify-content: space-between;box-sizing: border-box;padding: 0px 15px;
}
.searchInput {background-color: #f8f9fa;width: 220px;margin-left: 5px;
}
.searchHistory {width: 100%;margin-top: 5px;
}
.searchHistoryItem {width: 100%;display: flex;flex-wrap: wrap;
}
.searchHistoryItem view {/* width: 50px; */height: 20px;border: 1px solid #eee;margin: 0px 5px;
}
</style>

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

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

相关文章

【23真题】两电一邮之一,难度骤降!24可能回升!

今天分享的是23年电子科技大学858的信号与系统试题及解析。23成电858真题和22年相比&#xff0c;难度骤降&#xff01;今年我预测可能会有反弹。22年成电858真题&#xff0c;是我做过的22真题中数一数二的难度&#xff01;23年一般&#xff0c;但是题目也很好&#xff0c;真的很…

Excel——对其他工作表和工作簿的引用

一、引用其他sheet页表区域 若希望在公式中引用其他工作表的单元格区域&#xff0c;可以在公式编辑状态下&#xff0c;通过鼠标单击相应的工作表标签&#xff0c;然后选择相应的单元格区域。 例1 跨sheet页引用其他工作表区域 如图1所示的工作表Sheet2为工资表。 在Sheet1表…

三、K8S之ReplicaSet

ReplicaSet 一、概述 Kubernetes最核心的功能是编排&#xff0c;编排操作都是依靠控制器对象来完成&#xff0c;高级控制器控制着基础的控制器&#xff0c;基础控制器再去控制Pod&#xff0c;Pod里面再包容器。K8S项目里API对象层级大概就是这样。 而ReplicaSet这个控制器是…

AJAX为什么叫AJAX

AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;这个名字是由美国程序员Jesse James Garrett在2005年提出的&#xff0c;用来描述一种用于创建交互式Web应用程序的技术组合。它之所以被称为"AJAX"&#xff0c;有以下原因&#xff1a; Asynchronous&…

Flink之窗口聚合算子

1.窗口聚合算子 在Flink中窗口聚合算子主要分类两类 滚动聚合算子(增量聚合)全窗口聚合算子(全量聚合) 1.1 滚动聚合算子 滚动聚合算子一次只处理一条数据,通过算子中的累加器对聚合结果进行更新,当窗口触发时再从累加器中取结果数据,一般使用算子如下: aggregatemaxmaxBy…

Spark---数据计算

flatmap算子&#xff1a; # flatmap算子: 对rdd执行map操作,然后进行解除嵌套操作from pyspark import SparkConf, SparkContextconf SparkConf().setMaster("local[*]").setAppName("test_spark") sc SparkContext(confconf)# 准备一个RDD rdd sc.par…

function+bind实现多态(松耦合)

基类定义虚函数&#xff0c;子类实现虚函数&#xff0c;使用基类指针指向子类对象&#xff0c;从而实现多态&#xff0c;functionbind可以使没有任何关系的各种类对象及其行为以一种相同的行为表现出来&#xff0c;类似多态&#xff0c;高于多态&#xff0c;这里没有继承、没有…

前端数据可视化之【Echarts介绍】

目录 &#x1f31f;前言&#x1f31f;丰富的可视化类型&#x1f31f;多种数据格式无需转换直接使用&#x1f31f;移动端优化&#x1f31f;多渲染方案&#xff0c;跨平台使用&#xff01;&#x1f31f;写在最后 &#x1f31f;前言 ECharts开源来自百度商业前端数据可视化团队&a…

力扣每日一题43:字符串相乘

题目描述&#xff1a; 给定两个以字符串形式表示的非负整数 num1 和 num2&#xff0c;返回 num1 和 num2 的乘积&#xff0c;它们的乘积也表示为字符串形式。 注意&#xff1a;不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例 1: 输入: num1 "2"…

Python数据分析教程(非常详细)从零基础入门到精通,看完这一篇就够了

1、为什么选择Python进行数据分析? Python是一门动态的、面向对象的脚本语言&#xff0c;同时也是一门简约&#xff0c;通俗易懂的编程语言。Python入门简单&#xff0c;代码可读性强&#xff0c;一段好的Python代码&#xff0c;阅读起来像是在读一篇外语文章。Python这种特性…

ROS键盘遥控机器人,通过参数服务器指定速度

1、引言 在上节的驱动机器人&#xff0c;我们知道是cmd_vel话题发布一串Twist类型消息来控制&#xff0c;我们可以输入如下命令查看这个Twist的详细信息&#xff1a;rosmsg show geometry_msgs/Twist geometry_msgs/Vector3 linear float64 x float64 y float64 z geome…

macos 中ios系统升级,但是macos还是老系统,在手机上无法安装ios软件

https://github.com/filsv/iOSDeviceSupport 构建项目出现 解决的方法&#xff1a; 就可以了&#xff0c;

JDBC-day05(DAO及相关实现类)

七&#xff1a;DAO及相关实现类 1. DAO介绍 DAO&#xff1a;Data Access Object访问数据信息的类和接口&#xff0c;包括了对数据的CRUD&#xff08;Create、Retrival、Update、Delete&#xff09;&#xff0c;而不包含任何业务相关的信息。有时也称作&#xff1a;BaseDAO作用…

关于SparkRdd和SparkSql的几个指标统计,scala语言,打包上传到spark集群,yarn模式运行

需求&#xff1a; ❖ 要求:分别用SparkRDD, SparkSQL两种编程方式完成下列数据分析,结合webUI监控比较性能优劣并给出结果的合理化解释. 1、分别统计用户&#xff0c;性别&#xff0c;职业的个数&#xff1a; 2、查看统计年龄分布情况&#xff08;按照年龄分段为7段&#xff0…

Adobe发布Firefly 2,提升图像质量和用户体验

&#x1f989; AI新闻 &#x1f680; Adobe发布Firefly 2&#xff0c;提升图像质量和用户体验 摘要&#xff1a;Adobe升级了其AIGC生图平台Firefly为Firefly 2&#xff0c;该版本通过引入矢量图生成功能、提升图像质量和增加多项新功能&#xff0c;大幅改善了用户体验。Firef…

太强了!三种方案优化 2000w 数据大表!

目录 评估表数据体量 表容量&#xff1a; 磁盘空间 实例容量 出现问题的原因 如何解决单表数据量太大&#xff0c;查询变慢的问题 方案一&#xff1a;数据表分区 方案二&#xff1a;数据库分表 水平分表 垂直分表 1.取模方案&#xff1a; 2.range 范围方案 3.hash…

C51--基本认知

单片机基本认知&#xff1a; 1、什么是单片机 单片机是一种集成电路芯片。 把具有数据处理能力的中央处理器 CPU、随机存储器RAM、只读存储器ROM。 多种 I / O 口和中断系统、定时器/计数器等功能&#xff08;可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器…

宁夏企业过等保选哪家测评机构好?选哪家堡垒机好?

最近不少宁夏小伙伴在问&#xff0c;宁夏企业过等保选哪家测评机构好&#xff1f;选哪家堡垒机好&#xff1f;今天我们小编就给大家来简单说说哈&#xff01; 宁夏企业过等保选哪家测评机构好&#xff1f; 目前宁夏正规具有资质的等保测评机构只有3家&#xff0c;分别为中电信…

精美的早安问候语,暖心祝福,开心每一天

1、 美好的祝福&#xff0c;成了清晨的主题。相互问候&#xff0c;是一天的开始。让我们伴着不老的岁月&#xff0c;永远开心快乐。早晨好&#xff01; 2、 心宽似海&#xff0c;百福皆来&#xff0c;世事看淡&#xff0c;内心安然。随缘即福&#xff0c;随遇而安&#xff0…

c++ any_of,none_of,all_of

函数 函数作用any_of区间[开始, 结束)中是否至少有一个元素都满足判断式p&#xff0c;只要有一个元素满足条件就返回true&#xff0c;否则返回truenone_of区间[开始, 结束)中是否所有的元素都不满足判断式p&#xff0c;所有的元素都不满足条件返回true&#xff0c;否则返回fal…