### Vue element select filter-method自定義搜索
##### 使用element-UI框架的使用,我們經常使用el-select下拉框,很多時候還需要使用可搜索的下拉框,然后elementUI官網的實例中只是提了一下filter-method可以自定義搜索方法,但是卻沒有詳細介紹怎么用,這里簡單介紹一下用法,希望對大家有點幫助
##### [](#在el-select中加入filterable屬性就開啟了搜索功能然后我們用filter-methoddatafilter可以自定義一個搜索篩選條件在這里來寫我們自己的邏輯代碼)在el-select中加入filterable屬性,就開啟了搜索功能,然后我們用:filter-method="dataFilter"可以自定義一個搜索篩選條件,在這里來寫我們自己的邏輯代碼
##### [](#注意篩選的時候首先要把輸入的值賦值給下拉框綁定的變量否則會篩選會出現問題代碼在下面自己看一下不難)注意篩選的時候首先要把輸入的值賦值給下拉框綁定的變量,否則會篩選會出現問題,代碼在下面,自己看一下,不難
```
<template>
<section class="p-10">
<el-select v-model="value" placeholder="請選擇" filterable :filter-method="dataFilter">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</section>
</template>
<script>
export default {
data() {
return {
optionsCopy: [{
value: '1',
label: 'meat'
}, {
value: '2',
label: 'drink'
}, {
value: '3',
label: 'food'
}, {
value: '4',
label: '龍須面'
}, {
value: '5',
label: '北京烤鴨'
}],
options: [{
value: '1',
label: 'meat'
}, {
value: '2',
label: 'drink'
}, {
value: '3',
label: 'food'
}, {
value: '4',
label: '龍須面'
}, {
value: '5',
label: '北京烤鴨'
}],
value: ''
};
},
methods: {
dataFilter(val) {
this.value = val;
if (val) { //val存在
this.options = this.optionsCopy.filter((item) => {
if (!!~item.label.indexOf(val) || !!~item.label.toUpperCase().indexOf(val.toUpperCase())) {
return true
}
})
} else { //val為空時,還原數組
this.options = this.optionsCopy;
}
}
}
};
</script>
```
> 效果圖

- 前言
- 寫在前言
- 一些開發遇到的問題
- H5標簽中的屬性控制
- el-table的每個對象的屬性值
- el-form多個表單同時驗證必填項
- el-table 修改表頭
- el-input的多種驗證
- vue鍵盤回車事件
- blob導出
- table中selectable( 是否勾選)
- 手動更新視圖
- 日期選擇器,自定義可選范圍
- select 自定義搜索
- 監聽回車事件
- 表格初始化不可勾選
- el-input輸入限制
- table時間格式轉換
- table自適應高度
- JS問題記錄
- js字符數組轉換為數字數組
- js防抖和節流
- JS電腦是否有網判斷
- JS屬性記錄
- 遍歷方法(12個)
- 改變原數組(9個)
- 不改變原數組(8個)
- JS數組、字符串常用方法
- 遍歷對象
- Vue
- vue-router
- vue-router 如何在新窗口打開頁面
- vue-router 之 keep-alive緩存篇
- keep-alive項目案例
- 路由知識點歸納總結
- params、query傳參
- vue問題記錄
- vuejs npm chromedriver 報錯
- vuex
- vuex個人理解
- Vuex的簡單實例應用