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

vue3多条件搜索功能

       搜索功能在后台管理页面中非常常见,本篇就着重讲一下vue3-admin-element框架中如何实现一个顶部多条件搜索功能

一、首先需要在vue页面的<template></template>中写入对应的结构

        <!-- 搜索 --><div style="display: flex; justify-content: space-between; width: 85%;padding-top: 20px;"><div style="display: flex; justify-content: space-between; width: 86%;margin-left: 7%;"><el-form-item label="商品名称:" prop="goods_name"><el-input v-model="searchParam.goods_name" placeholder="请输入商品名称" /></el-form-item><el-form-item label="隶属店铺:" prop="shoptitle"><el-input v-model="searchParam.shoptitle" placeholder="请输入隶属店铺" /></el-form-item></div></div><div @click="refreshList"><div style="display: flex;justify-content: flex-end; width: 80%; margin-left: 10%;margin-top: 10px;"><el-button type="primary" :icon="Search" style=" padding-left: 10px; padding-right:10px;">搜索</el-button></div></div>

二、其中searchParam是我定义的需要搜索的字段

//   搜索字段
const searchParam = reactive({goods_name: '',shoptitle: ''
})

三、搜索按钮绑定的函数

//搜索
const refreshList = () => {console.log(searchParam);//搜索数据的对象console.log(arr.value);//表里的数据let obj = {}obj = {goods_name: searchParam.goods_name,shoptitle: searchParam.shoptitle}// 排除空for (let key in obj) {if (obj[key] == '' || obj[key] == null) {delete obj[key]}}// @param condition 过滤条件// @param data 需要过滤的数据let filter = (condition, data) => {return data.filter(item => {return Object.keys(condition).every(key => {return String(item[key]).toLowerCase().includes(String(condition[key]).trim().toLowerCase())})})}let data = filter(obj, arr.value);console.log(data);if (data != '') {arr.value = data} else {ElMessage({type: 'error',message: `没有相关信息`,});data = [];arr.value = data;}
}

其中obj是要搜索的字段对应的对象,arr是从接口获取的列表数据源。

http://www.lryc.cn/news/118010.html

相关文章:

  • C++20协程
  • Zabbix 6.0 监控其他
  • Django rest_framework Serializer中的create、Views中的create/perform_create的区别
  • 差异性分析傻瓜版
  • Keystone Automotive EDI 需求分析
  • jmeter创建一个压测项目
  • CEC2013(MATLAB):淘金优化算法GRO求解CEC2013的28个函数
  • AI Deep Reinforcement Learning Autonomous Driving(深度强化学习自动驾驶)
  • Java super
  • 【人工智能前沿弄潮】——生成式AI系列:Diffusers学习(1)了解Pipeline 、模型和scheduler
  • TypeScript 非空断言
  • Python编程——谈谈函数的定义、调用与传入参数
  • 在Ubuntu中使用Docker启动MySQL8的天坑
  • Python3.x String内置函数大全
  • Go异常处理机制panic和recover
  • QMainwindow窗口
  • P5735 【深基7.例1】距离函数
  • prometheus告警发送组件部署
  • CAPL - XML和TestModule结合实现测试项可选
  • Latex安装与环境配置(TeXlive、TeXstudio与VS code的安装)编译器+编辑器与学习应用
  • STM32 F103C8T6学习笔记3:串口配置—串口收发—自定义Printf函数
  • python中字符串内建函数篇4
  • 并发下如何使用redis存储列表数据
  • Leecode螺旋矩阵 II59
  • echarts 横向柱状图
  • Vue3 —— to 全家桶及源码学习
  • (第三篇) ansible-kubeadm在线安装高可以用集群()
  • flutter开发实战-颜色Color与16进制转换
  • Linux(进程地址空间)
  • VLAN监控及常见问题排查