当前位置: 首页 > news >正文

uniapp搜索功能

  • 假设下方数据是我们从接口中获取到的,我们需要通过name来搜索,好我们看下一步。

  • 				data: [{"id": 30,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 29,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 28,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 27,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 26,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 25,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 24,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 23,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 22,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 20,"category_id": 2,"name": "数码家电名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "述数码家电内容描述"},{"id": 19,"category_id": 2,"name": "数码家电名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "述数码家电内容描述"},{"id": 18,"category_id": 2,"name": "数码家电名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "述数码家电内容描述"}],

  • <template> 部分:这是模板部分,用于定义页面的结构和布局。在这里,您定义了一个搜索框组件 <u-search> 和一个用于显示搜索结果的 <view> 元素。

  • <u-search> 组件:这是一个自定义的搜索框组件,可以在页面上显示一个搜索框。它具有一些属性,例如 styleheightclass,用于自定义样式,以及 placeholder 属性,用于设置搜索框的占位符文本。@input 事件监听器绑定到 search 方法,以在用户输入时触发搜索。

  • <view> 元素:这是一个 UniApp 中用于布局的视图容器元素。在这里,它用于包装搜索框和搜索结果。

<template><view><!-- 搜索框组件 --><u-search style="" height="70" class="" placeholder="请输入产品关键词" @input="search"></u-search><!-- 显示搜索结果 --><view v-for="item in filteredData" :key="item.id"><!-- 在这里显示您的数据项 --><text>{{ item.name }}</text></view></view>
</template>

  • <script> 部分:这是脚本部分,包含了页面的逻辑和数据。在这里,您定义了一个名为 data 的数据对象,用于存储产品数据、searchKeyword 用于保存搜索关键词。接下来,使用 computed 计算属性定义了 filteredData,该属性根据搜索关键词过滤产品数据。

  • methods 部分:在这里,您定义了一个名为 search 的方法,用于更新 searchKeyword,以便触发计算属性 filteredData 的重新计算,从而实现搜索功能。

searchKeyword: '', // 用于保存搜索关键词
		computed: {// 使用计算属性来过滤数据filteredData() {return this.data.filter(item => {// 这里可以根据您的需求定义搜索规则return item.name.includes(this.searchKeyword); // 这里示例使用名称字段进行搜索});},},methods: {search(keyword) {// 更新搜索关键词this.searchKeyword = keyword;},},

好这样一个搜索就完毕了

下方是页面全部代码cv直接可以查看效果

<template><view><!-- 搜索框组件 --><u-search style="" height="70" class="" placeholder="请输入产品关键词" @input="search"></u-search><!-- 显示搜索结果 --><view v-for="item in filteredData" :key="item.id"><!-- 在这里显示您的数据项 --><text>{{ item.name }}</text></view></view>
</template><script>export default {data() {return {data: [{"id": 30,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 29,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 28,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 27,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 26,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 25,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 24,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 23,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 22,"category_id": 3,"name": "日常家居名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "内容描述"},{"id": 20,"category_id": 2,"name": "数码家电名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "述数码家电内容描述"},{"id": 19,"category_id": 2,"name": "数码家电名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "述数码家电内容描述"},{"id": 18,"category_id": 2,"name": "数码家电名称","goods_num": 20,"integral_num": 20,"saleable": 1,"content": "述数码家电内容描述"}],searchKeyword: '', // 用于保存搜索关键词};},computed: {// 使用计算属性来过滤数据filteredData() {return this.data.filter(item => {// 这里可以根据您的需求定义搜索规则return item.name.includes(this.searchKeyword); // 这里示例使用名称字段进行搜索});},},methods: {search(keyword) {// 更新搜索关键词this.searchKeyword = keyword;},},};
</script><style>/* 样式可以在这里添加 */
</style>
http://www.lryc.cn/news/164113.html

相关文章:

  • iframe 实现跨域,两页面之间的通信
  • DevOps到底是什么意思?
  • 03JVM_类加载
  • Mysql如何对null进行排序(mysql中null排序)
  • 【基础计算机网络1】认识计算机网络体系结构,了解计算机网络的大致模型(下)
  • vscode 画流程图
  • uniapp-一些实用的api接口
  • 合宙Air724UG LuatOS-Air LVGL API控件-表格(Table)
  • 前缀和思想
  • Llama2-Chinese项目:1-项目介绍和模型推理
  • 论文于祥读及复现——《VDO-SLAM: A Visual Dynamic Object-aware SLAM System》
  • nuxt3项目使用pdfjs-dist预览pdf
  • mybatis-generator-maven-plugin使用
  • 基于SpringBoot开发的停车位管理系统(调用百度地图api)
  • STC8单片机PWM定时器+EC11编码器实现计数
  • MediaBox助力企业一站式获取音视频能力
  • 仅做笔记用:Stable Diffusion 通过 ControlNet 扩展图片 / 扩图
  • 代码随想录算法训练营19期第49天
  • 用shell脚本实现一个对数组求和的函数,数组通过实参传递给函数,写一个函数,输出当前用户的uid和gid,并使用变量接收结果
  • 运算符,switch
  • 运行java命令出现 Error: Invalid or corrupt jarfile XXX.jar
  • 在找工作时的准备工作:结合现状,针对意向企业做好充分准备
  • 微服务·数据一致-事务与分布式事务
  • GO语言篇之CGO
  • LVS负载均衡群集(NAT模式、IP隧道模式、DR模式)
  • PCL 使用克拉默法则进行三点定圆(二维)
  • MCAL实战二(S32K324-NXP EB tresos GPT驱动配置详解)
  • Python 图形化界面基础篇:什么是 Tkinter 以及为什么选择它
  • Learning From Data 中英文对照 1.THE LEARNING PROBLEM (第7页)
  • 自己编译静态ffmpeg freetype2 not found问题解决