vue3實(shí)現(xiàn)多條件搜索功能的示例代碼
搜索功能在后臺(tái)管理頁(yè)面中非常常見(jiàn),本篇就著重講一下vue3-admin-element框架中如何實(shí)現(xiàn)一個(gè)頂部多條件搜索功能

一、首先需要在vue頁(yè)面的<template></template>中寫(xiě)入對(duì)應(yīng)的結(jié)構(gòu)
<!-- 搜索 -->
<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="請(qǐng)輸入商品名稱" />
</el-form-item>
<el-form-item label="隸屬店鋪:" prop="shoptitle">
<el-input v-model="searchParam.shoptitle" placeholder="請(qǐng)輸入隸屬店鋪" />
</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: ''
})三、搜索按鈕綁定的函數(shù)
//搜索
const refreshList = () => {
console.log(searchParam);//搜索數(shù)據(jù)的對(duì)象
console.log(arr.value);//表里的數(shù)據(jù)
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 過(guò)濾條件
// @param data 需要過(guò)濾的數(shù)據(jù)
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: `沒(méi)有相關(guān)信息`,
});
data = [];
arr.value = data;
}
}其中obj是要搜索的字段對(duì)應(yīng)的對(duì)象,arr是從接口獲取的列表數(shù)據(jù)源。
到此這篇關(guān)于vue3實(shí)現(xiàn)多條件搜索功能的示例代碼的文章就介紹到這了,更多相關(guān)vue多條件搜索內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue代理如何配置重寫(xiě)方法(pathRewrite與rewrite)
這篇文章主要介紹了vue代理如何配置重寫(xiě)方法(pathRewrite與rewrite),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
解決vue中使用history.replaceState?更改url?vue?router?無(wú)法感知的問(wèn)題
這篇文章主要介紹了vue中使用history.replaceState?更改url?vue?router?無(wú)法感知的問(wèn)題,本文給大家分享修復(fù)這個(gè)問(wèn)題的方法,需要的朋友可以參考下2022-09-09
VUE開(kāi)發(fā)分布式醫(yī)療掛號(hào)系統(tǒng)的醫(yī)院設(shè)置頁(yè)面步驟
這篇文章主要為大家介紹了VUE開(kāi)發(fā)分布式醫(yī)療掛號(hào)系統(tǒng)的醫(yī)院設(shè)置頁(yè)面步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04
vue3中Teleport的用法以及使用場(chǎng)景小結(jié)
Teleport是一個(gè)內(nèi)置組件,它可以將一個(gè)組件內(nèi)部的一部分模板傳送到該組件的?DOM?結(jié)構(gòu)外層的位置去,本文主要介紹了Vue3中Teleport用法以及使用場(chǎng)景小結(jié),感興趣的可以了解一下2025-04-04
vue-router跳轉(zhuǎn)方式的區(qū)別解析
在Vue中,router-link稱為聲明式路由,:to綁定為跳轉(zhuǎn)的目標(biāo)地址,一種是通過(guò)name,另一種是path,這篇文章主要介紹了vue-router跳轉(zhuǎn)方式的區(qū)別,需要的朋友可以參考下2022-12-12
element el-table 表格限制多選個(gè)數(shù)功能
這篇文章主要介紹了element el-table 表格限制多選個(gè)數(shù)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03
vue實(shí)現(xiàn)簡(jiǎn)單加法計(jì)算器
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單加法計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10

