Element中Select選擇器的實現(xiàn)
本篇是關于下拉框相關知識點總結(jié)
今天來整理一下目前最喜歡的el組件 el-select:Element官網(wǎng)
最近真的做夢都是這個組件的相關屬性clearable和filterable和對應的鉤子函數(shù)@change,所以趁著整理下來吧以免夜長夢多

來我們一起學習一下element給我們提供的相關案例
<template>
<el-select v-model="value" placeholder="請選擇">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
options: [{
value: '選項1',
label: '黃金糕'
}, {
value: '選項2',
label: '雙皮奶'
}, {
value: '選項3',
label: '蚵仔煎'
}, {
value: '選項4',
label: '龍須面'
}, {
value: '選項5',
label: '北京烤鴨'
}],
value: ''
}
}
}
</script>
很容易發(fā)現(xiàn)我們遍歷的是一個數(shù)組對象,其中顯示出來的是label,但是真正對應的值卻是value屬性
在項目中經(jīng)常有這樣的下拉框,讓我們選擇,有兩種情況,一種下拉框是靜態(tài)的,就是下拉框的數(shù)據(jù)是前端寫好的,第二種更加有趣,是動態(tài)的,是從數(shù)據(jù)庫中獲取的
在我們實際開發(fā)過程中這個下拉框的屬性大部分是由后臺查詢?nèi)〉降?,舉個案例如下
我們顯示出來的是name屬性,但是當我們要做其它操作如查詢的時候我們真正傳給后臺的是id值
{
"content": [
? {
? "id": "001",
? "name": "辰兮",
? },
? {
? "id": "002",
? "name": "辰兮要努力",
? },
? {
? "id": "003",
? "name": "辰兮打卡",
? }
],
"count": 3,
"code": "success",
"message": "成功"
}
其實這里我們多實踐也可以更好的了解面向?qū)ο缶幊踢@一個概念,JavaScript就是一個面向?qū)ο缶幊痰恼Z言,我們后臺發(fā)送給前端的就是一個有一個數(shù)組對象,我們只是展示了其中對象中的某一個屬性
來分析一下前端的思路
前端定義一個數(shù)組來接這個對象
options = []
this.options = res.content;
如何取到值
v-for="item in options"
:key="item.id"
:label="item.name"
:value="item.id"
簡單的總結(jié)一下 options相當于一個數(shù)組對象的集合,遍歷出來顯示的是具體的label,但是真實的值是value屬性代表的
來分享一下最最最常用的屬性,我一般都會加上,詳情大家也參考官網(wǎng)即可比較基礎
clearable 這個我們常用 意思是可以清除

filterable 代表我們可以搜索,數(shù)據(jù)量大的時候我們進行相關操作

關于對應的鉤子函數(shù)的應用案例:這個是內(nèi)置的,我們改變某一個屬性的時候我們目的就是獲取它的值或者執(zhí)行什么方法,這里用@change或者@remove-tag都是可以直接使用的,詳情大家自己實踐
remove-tag 代表:多選模式下移除tag時觸發(fā) /移除的tag值
如何使用@change @remove-tag
<el-select v-model="value1" multiple @change="changeValue()" @remove-tag="deleteValue">
<el-option v-for="item in content" :key="item.sId" :label="item.sName" :value="item.sId"> </el-option>
</el-select>

相關文章
Nginx配置Vue項目,無法按路徑跳轉(zhuǎn)及刷新404的解決方案
這篇文章主要介紹了Nginx配置Vue項目,無法按路徑跳轉(zhuǎn)及刷新404的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
element中el-table表頭通過header-row-style設置樣式
有些時候需要給element-ui表頭設置不同樣式,本文主要介紹了element中el-table表頭通過header-row-style設置樣式,具有一定的參考價值,感興趣的可以了解一下2024-01-01
vue-cli3+typescript新建一個項目的思路分析
這篇文章主要介紹了vue-cli3+typescript新建一個項目的思路,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
Vue.js如何利用v-for循環(huán)生成動態(tài)標簽
這篇文章主要給大家介紹了關于Vue.js如何利用v-for循環(huán)生成動態(tài)標簽的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-01-01

