热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

uniapp搜索历史记录

篇首语:本文由编程笔记#小编为大家整理,主要介绍了uni-app搜索-历史记录相关的知识,希望对你有一定的参考价值。效果图

篇首语:本文由编程笔记#小编为大家整理,主要介绍了uni-app搜索-历史记录相关的知识,希望对你有一定的参考价值。


效果图

<template>
<view>
<!-- 搜索框 -->
<view class&#61;"search">
<view style&#61;"display: flex;align-items: center;">
<!-- &#64;confirm&#61;"search" 点击 -->
<input class&#61;"searchInput" v-model&#61;"inputValue" &#64;confirm&#61;"search" placeholder&#61;"搜索" type&#61;"text" />
</view>
<view>取消</view>
</view>
<!-- 搜索框 -->
<!-- 搜索历史 -->
<view class&#61;"searchHistory">
<view style&#61;"display: flex;align-items: center;justify-content: space-between;box-sizing: border-box;padding: 0px 5px;">
<view>搜索历史:</view>
<view style&#61;"color: red;font-size: 28px;" &#64;click&#61;"empty">×</view>
</view>
<view class&#61;"searchHistoryItem">
<view v-for&#61;"(item, index) in searchHistoryList" :key&#61;"index">
<text &#64;click&#61;"model(item,index)"> item </text>
<text &#64;click&#61;"del(item,index)" style&#61;"color: red;" >&nbsp; x</text>
</view>
</view>
</view>
<!-- 搜索历史 -->
</view>
</template>
<script>
export default
data()
return
inputValue: &#39;&#39;,
searchHistoryList: [] //搜索出来的内容
;
,
methods:
model(item,index)
this.inputValue &#61; item
,
del(item,index)
this.searchHistoryList.splice(0,1)
,
search()
if (this.inputValue &#61;&#61; &#39;&#39;)
uni.showModal(
title: &#39;搜索内容不能为空&#39;
);
else
if (!this.searchHistoryList.includes(this.inputValue))
this.searchHistoryList.unshift(this.inputValue);
uni.setStorage(
key: &#39;searchList&#39;,
data: JSON.stringify(this.searchHistoryList)
);
else
//有搜索记录&#xff0c;删除之前的旧记录&#xff0c;将新搜索值重新push到数组首位
let i &#61; this.searchHistoryList.indexOf(this.inputValue);
this.searchHistoryList.splice(i, 1);
this.searchHistoryList.unshift(this.inputValue);
uni.showToast(
title: &#39;不能重复添加&#39;
);
uni.setStorage(
key: &#39;searchList&#39;,
data: JSON.stringify(this.searchHistoryList)
);


,
//清空历史记录
empty()
uni.showToast(
title: &#39;已清空&#39;
);
uni.removeStorage(
key: &#39;searchList&#39;
);
this.searchHistoryList &#61; [];

,
async onLoad()
let list &#61; await uni.getStorage(
key: &#39;searchList&#39;
);
console.log(list[1].data);
if (list[1].data)
this.searchHistoryList &#61; JSON.parse(list[1].data);


;
</script>
<style lang&#61;&#39;scss&#39;>
&#64;import "search.scss";
</style>

.search
width: 100%;
height: 30rpx;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 2rpx 6rpx;
margin-top: 20rpx;
.searchInput
background-color: #f8f9fa;
width: 220rpx;
margin-left: 5rpx;


.searchHistory
width: 100%;
margin-top: 16rpx;
.searchHistoryItem
width: 100%;
display: flex;
flex-wrap: wrap;
view
/* width: 50px; */
height: 20rpx;
background: #f0f0f0;
padding: 4rpx;
margin: 6rpx 5rpx;



.main_classify
background: white;
.main_under_classify
.li
height: 124rpx;
border-bottom: 2rpx #999999 solid;
padding: 20rpx 28rpx;
display: flex;
justify-content: space-between;
margin-top: 20rpx;
image
width: 116rpx;
height: 110rpx;
border-radius: 50%;
margin-right: 20rpx;
margin-top: 6rpx;

.li_content
width: 254rpx;
.title
display: block;
font-weight: 800;
font-size: 28rpx;

text
line-height: 40rpx;

.zhiwei
color: #666666;

.heng
color: #999999;


.li_end
padding: 0rpx 40rpx;
width: 140rpx;
height: 52rpx;
border: 1rpx solid red;
border-radius: 50rpx;
display: flex;
justify-content: space-between;
margin-top: 36rpx;
.jia
width: 24rpx;
height: 24rpx;
margin-top: 16rpx;

.erji
width: 42rpx;
height: 42rpx;







推荐阅读
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
  • Hanks博士是一位著名的生物技术专家,他的儿子Hankson对数学有着浓厚的兴趣。最近,Hankson遇到了一个有趣的数学问题,涉及求解特定条件下的正整数x,而不使用传统的辗转相除法。 ... [详细]
  • 本文是对《敏捷软件开发:原则、模式与实践》一书的深度解析,书中不仅探讨了敏捷方法的核心理念及其应用,还详细介绍了面向对象设计的原则、设计模式的应用技巧及UML的有效使用。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 洛谷 P4009 汽车加油行驶问题 解析
    探讨了经典算法题目——汽车加油行驶问题,通过网络流和费用流的视角,深入解析了该问题的解决方案。本文将详细阐述如何利用最短路径算法解决这一问题,并提供详细的代码实现。 ... [详细]
  • MySQL InnoDB 存储引擎索引机制详解
    本文深入探讨了MySQL InnoDB存储引擎中的索引技术,包括索引的基本概念、数据结构与算法、B+树的特性及其在数据库中的应用,以及索引优化策略。 ... [详细]
  • 近期尝试从www.hub.sciverse.com网站通过编程手段获取数据时遇到问题,起初尝试使用WebBrowser控件进行数据抓取,但发现使用GET方法翻页时,返回的HTML代码始终相同。进一步探究后了解到,该网站的数据是通过Ajax异步加载的,可通过HTTP查看详细的JSON响应。 ... [详细]
  • 如何从BAM文件绘制ATAC-seq插入片段长度分布图?
    在ATAC-seq数据处理中,插入片段长度的分布图是一个重要的质量控制指标,它能反映出核小体的周期性排列。本文将详细介绍如何从BAM文件中提取并绘制这些数据。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有