首页 > 编程语言 >微信小程序(8)搜索页以及历史记录管理

微信小程序(8)搜索页以及历史记录管理

时间:2023-08-20 17:44:23浏览次数:37  
标签:历史记录 isSend 微信 historyList 获取 搜索 placeholder event

1. 效果

1. 逻辑

  1. 界面初始化调接口获取两部分数据:
1. 搜索框默认的搜索placeholder: 下面 自由自在...
2. 热搜榜数据: 前20条热搜数据
3. 获取本地存的历史搜索记录 historyList
  1. 搜索框输入文字事件:
1. 调用接口根据关键字搜索音乐
2. 判断搜索记录是否有对应关键字,如果有就将其移到数组前面、否则加到数组第一个
3. 搜索记录存到本地

2. 界面展示

2. 核心知识点

1. 本地数据存储与获取

  1. 获取
    let historyList = wx.getStorageSync('searchHistory');
    if(historyList){
      this.setData({
        historyList
      })
    }
  1. 存储
wx.setStorageSync('searchHistory', historyList)

2. 搜索框placeholder 文字样式设置

1. wxml 设置placeholder-class
<input type="text" value="{{searchContent}}" placeholder="{{placeholderContent}}" placeholder-class="placeholder" bindinput="handleInputChange"/>
2. wxss 设置样式
.placeholder{
  /*color: #d43c33;*/
  font-size: 28rpx;
}

3. 搜索框内容改变事件

1. wxml 绑定事件
<input type="text" value="{{searchContent}}" placeholder="{{placeholderContent}}" placeholder-class="placeholder" bindinput="handleInputChange"/>
2. js 事件
	  // 表单项内容发生改变的回调
   handleInputChange(event){
    // console.log(event);
    // 更新searchContent的状态数据
    this.setData({
      searchContent: event.detail.value.trim()
    })
     if(isSend){
       return
     }
     isSend = true;
     this.getSearchList();
     // 函数节流
    setTimeout( () => {
      isSend = false;
    }, 300)
    
  },

标签:历史记录,isSend,微信,historyList,获取,搜索,placeholder,event
From: https://www.cnblogs.com/qlqwjy/p/17644321.html

相关文章

  • 微信小程序
    1、input标签小程序的input标签新增了可以改变placeholder样式的属性<viewclass="about-page"><inputtype="text"placeholder="请输入账号"placeholder-style="color:red"placeholder-class=""/></view>.about-page{p......
  • 【LuoGu 1363】幻象迷宫——深度优先搜索 + 读题
    幻象迷宫题目背景(喵星人LHX和WD同心协力击退了汪星人的入侵,不幸的是,汪星人撤退之前给它们制造了一片幻象迷宫。)WD:呜呜,肿么办啊……LHX:momo...我们一定能走出去的!WD:嗯,+U+U!题目描述幻象迷宫可以认为是无限大的,不过它由若干个\(N\timesM\)的矩阵重复组成。矩阵中有的地......
  • 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先(简单)
    题目:classSolution{public:TreeNode*lowestCommonAncestor(TreeNode*root,TreeNode*p,TreeNode*q){//依旧要利用二叉搜索树的性质if(root->val>p->val&&root->val>q->val)returnlowestCommonAncestor(root->left,p,q);/......
  • 鱼皮聚合搜索项目总结
    鱼皮聚合搜索项目笔记+收获一、收获:1、使用AXIOS向后端发送请求语法:myAxios.post("search/all",query).then((res:any)=>{}post请求方式search/all请求后端的路径query请求的参数res响应回来的数据2、爬虫,如何爬虫:方法:HttpClient、OKHttp、RestTemplate、HuTool......
  • 【23.0】搜索功能搭建
    【一】搜索功能后端luffyCity\luffyCity\apps\course\views.py#搜索---查询所有+过滤classSearchCourseView(GenericViewSet,ListModelMixin):serializer_class=CourseSerializerqueryset=Course.objects.filter(is_delete=False,is_show=True).order_......
  • 【wxauto】新版PC端微信报错:LookupError: Find Control Timeout(10s): {Name: ‘输入
    微信版本:3.9.5.81调用后报错“LookupError:FindControlTimeout(10s):{Name:'输入',ControlType:EditControl}”按照Issues#107说的修改后是不报错,但是没有效果,不能自动发送消息 解决方案:在wxauto.py的文件中找到WeChat的类,并添加下述方法defChangeWindo......
  • uniapp APP微信登录、支付、分享以及支付宝支付 实战踩坑记录
    1、微信支付和支付宝支付  先上代码、封装好了的组件   html部分    <template> <viewclass="rows"> <!------------------------------充值的弹框开始------------------------------> <uni-popupclass="common-popup"ref="popupChongZhi":i......
  • 二分搜索法-C++
    二分法,就是对一个数组中,已经排好序的数字进行搜索。使用二分法的前提条件:1.是一个数组2.该数组中的数字已经是有序的,比如升序的数字或者降序的数字都可以。inta[]={1,2,3,4};   intb[]={4,3,2,1};3.该数组中没有出现重复的数字 二分法原理:就是对一个数组,不断的划分......
  • 基于Redis的Geo实现附近商铺搜索(含源码)
    微信公众号访问地址:基于Redis的Geo实现附近商铺搜索(含源码)一、GEO常用命令及使用示范1.1、GEO的数据结构GEO 就是 Geolocation 的简写形式,代表地理坐标。Redis 在 3.2 版本中加入了对 GEO 的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有:1、GEOAD......
  • 微信小程序:排行榜页面模板
    1前言在开发一款背单词的微信小程序时,为了加强用户的体验感,刺激用户积极学习,小程序中需要有排行榜的模块。通过打卡天数来排名,让用户有攀比学习的心里。具体的页面截图如下:2模板代码wxml<viewclass="container"><viewclass="rank-item"style="position:relative;le......