订水商城实战教程07-搜索

news/2025/3/14 22:53:55/

目录

  • 1 创建数据源
  • 2 首页搜索功能
  • 3 创建搜索页面
  • 4 搭建搜索结果页面
  • 总结

上一篇我们讲解了店铺信息的展示功能,本篇讲解一下搜索功能。通常小程序在首页都配置了搜索的功能,输入关键词进行检索,可以在结果页上进行选购。同时还记录了用户的搜索词,将高频出现的词列为热搜词,为了实现搜索词的记忆功能,需要将用户的搜索记录记录到数据源中。

1 创建数据源

打开控制台,点击数据模型,点击新建
在这里插入图片描述
输入名称热搜词
在这里插入图片描述
点击编辑添加字段
在这里插入图片描述
添加第一个字段热搜词,类型选择文本
在这里插入图片描述
添加第二个字段搜索次数,类型选择数字
在这里插入图片描述
再添加一个数据源,搜索历史记录
在这里插入图片描述
添加第一个字段搜索词,类型选择文本
在这里插入图片描述
添加第二个字段openid,类型选择文本
在这里插入图片描述

2 首页搜索功能

我们现在首页显示了店铺的名称,我们要在名称的右边显示搜索框,需要搭建一下布局,先添加一个普通容器,里边放置文本组件和单行输入组件,模板选择搜索框(填充)
在这里插入图片描述
选中普通容器,设置布局,横向排列,两端对齐,垂直居中
在这里插入图片描述
修改一下单行输入的宽度,设置为150
在这里插入图片描述

3 创建搜索页面

点击创建页面的图标,创建搜索页面
在这里插入图片描述
在这里插入图片描述
给首页的单行输入组件设置事件,聚焦的时候打开搜索结果页面
在这里插入图片描述
在这里插入图片描述

4 搭建搜索结果页面

先放入单行输入组件,模板选择搜索框
在这里插入图片描述
然后放入文本组件,内容修改为热门搜索
在这里插入图片描述
设置20的外边距
在这里插入图片描述
放入标签组件
在这里插入图片描述
选项的内容我们需要动态绑定,先创建一个变量,在左侧的代码区点击新建
在这里插入图片描述
选择新建微搭数据表查询
在这里插入图片描述
数据源选择热搜词,方法选择查询多条
在这里插入图片描述
设置排序字段,按照搜索次数降序排列,一共取5条数据
在这里插入图片描述
给标签项绑定数据,输入如下表达式
在这里插入图片描述

$w.hotsearch.data.records.map((item,index)=>{return {"label":item.rsc,"value":item.rsc}
})

设置一定的外边距
在这里插入图片描述
再添加一个普通容器,里边放置文本和图标组件
在这里插入图片描述
设置普通容器的布局,横向排列,两端对齐,垂直居中
在这里插入图片描述
修改文本内容为历史搜索,图标选一个删除的图标
在这里插入图片描述
下边添加标签组件
在这里插入图片描述
定义一个变量,数据源选择历史搜索记录
在这里插入图片描述
设置查询条件,openid等于登录用户的openid
在这里插入图片描述
给标签项绑定变量,绑定如下表达式

$w.userserach.data.records.map(item=>({"label":item.ssc,"value":item.ssc}))

总结

本篇我们主要实现了搜索的效果的搭建,后续要等我们主体功能设计完成才可以真正的实现搜索的具体效果。


http://www.ppmy.cn/news/1191306.html

相关文章

Java日志组件之三Log4j2漏洞剖析及重现

一、前言 这一篇我们来介绍一下史上第二严重的安全漏洞是个什么情况,原理是什么,如何重现。 二、Log4j2 Lookup机制 Log4j2 Lookup机制最重要的功能就是提供一个可扩展的方式让你可以添加某些特殊的值到日志中。你调用logger.info(name);这样的语句&a…

[Linux 基础] Linux使用git上传gitee三板斧

文章目录 1、使用git1.1 安装git1.2 在Gitee上创建项目1.2.1 使用Gitee创建项目1.2.2 上传本地代码到远端仓库 1.3 git上传三板斧1.3.1 三板斧第一招:git add1.3.2 三板斧第二招:git commit1.3.3 三板斧第三招:git push 1、使用git 1.1 安装…

【排序算法】 计数排序(非比较排序)详解!了解哈希思想!

🎥 屿小夏 : 个人主页 🔥个人专栏 : 算法—排序篇 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言🌤️计数排序的概念☁️什么是计数排序?☁️计数排序思想⭐绝对…

css中flexbox和grid的区别

css中flexbox和grid的区别 我们是不是被那些不会按预期排列的元素所影响?这篇文章我们将深入探讨css中flexbox和grid的布局。通过了解他们的主要差异,我们会发现这些布局是如何改变我们网站的风格。 理解CSS布局 css布局是网页设计的一个重要方面&…

软考高项-49个项目管理过程输入、输出和工具技术表

知识领域数量五大过程组启动规划执行监控收尾整体7制订项目章程制订项目管理计划指导与管理项目工作 管理项目知识 监控项目工作 实施整体变更控制 结束项目或阶段范围6规划范围管理 收集需求 定义范围 创建WBS 确认范围 控制范围 进度6规划进度管理 定义活动

Vectrosity 插件使用

1 下载 https://download.csdn.net/download/moonlightpeng/88490704?spm1001.2014.3001.5503 2 使用,目前在2020.3.3上测试可以 导入时选5.6 再导入demo

Handler面试题

Handler面试题 1、子线程到主线程通信都有哪些方式?子线程到主线程通信的原理 handler 内存:线程间共享 主线程:处理消息 Handler.handlerMessage() Looper.loop()死循环取消息 -> queue.next ->handler.dispatchMessage()->handle…

HTTP和HTTPS本质区别——SSL证书

HTTP和HTTPS是两种广泛使用的协议,尽管它们看起来很相似,但是它们在网站数据传输的安全性上有着本质上的区别。 HTTP是明文传输协议,意味着通过HTTP发送的数据是未经加密的,容易受到拦截、窃听和篡改的风险。而HTTPS通过使用SSL或…