ElementUI中兩個(gè)Select選擇聯(lián)動(dòng)效果實(shí)現(xiàn)方法
實(shí)現(xiàn)ElementUI中兩個(gè)Select選擇聯(lián)動(dòng)效果
先上圖

通過賦值的方式實(shí)現(xiàn) 即子級(jí)下拉選項(xiàng)循環(huán)數(shù)組為空 將所需的值對(duì)空數(shù)組重新賦值
代碼如下
第一個(gè)循環(huán)數(shù)組為
procedureType第二個(gè)是causeGroup暫且稱之為父級(jí)與子級(jí)
<el-select
v-model="ruleForm.procedure_type"
placeholder="請(qǐng)選擇"
@change="changeSelect"
>
<el-option
v-for="(item,i) in procedureType"
:key="i"
:label="item"
:value="item"
>
</el-option>
</el-select>
<el-select
v-model="ruleForm.cause_group"
placeholder="請(qǐng)選擇"
style="margin-left: 30px"
>
<el-option
v-for="(item,i) in causeGroup"
:key="i"
:label="item"
:value="item"
>
</el-option>
</el-select>須注意的是父級(jí)下拉綁定的change事件 要對(duì)子級(jí)作出滯空操作 也就是清空子選項(xiàng)的值不然會(huì)出現(xiàn)切換選項(xiàng)1 或者 選項(xiàng)2的時(shí)候子級(jí)選項(xiàng)值保留的問題 如下所示

methods: {
changeSelect() {
// 聯(lián)動(dòng)子級(jí)滯空
this.ruleForm.cause_group = "";
// 循環(huán)遍歷父級(jí)
for (const k in this.procedureType) {
if (this.ruleForm.procedure_type === this.procedureType[k]) {
// 核心代碼在這里 進(jìn)行賦值操作
this.causeGroup = this.TypeObj[this.ruleForm.procedure_type];
}
}
},
},
data() {
return {
// 在這里定義所需的值
procedureType: ["選項(xiàng)a", "選項(xiàng)b"],
TypeObj: {
選項(xiàng)a: ["連級(jí)選項(xiàng)a1", "連級(jí)選項(xiàng)a2", "連級(jí)選項(xiàng)a3"],
選項(xiàng)b: ["連級(jí)選項(xiàng)b1", "連級(jí)選項(xiàng)b2", "連級(jí)選項(xiàng)b3"],
},
ruleForm: {
procedure_type: "",
cause_group: "",
},
// 由 changeSelect 接管 causeGroup 的值
causeGroup: [],
};
},到這里已經(jīng)實(shí)現(xiàn)了兩個(gè)Select下拉聯(lián)動(dòng)的效果 關(guān)鍵就在于將定義好的值賦值給子級(jí)數(shù)組本文是模擬假數(shù)據(jù) 所以直接在數(shù)組定義數(shù)據(jù) 如果是從接口拿值 在接口請(qǐng)求處將數(shù)據(jù)賦給procedureType與TypeObj即可其實(shí)還有更簡(jiǎn)單的寫法 子級(jí)數(shù)組直接循環(huán) 不進(jìn)行賦值操作 但仍需保留滯空操作
<el-select
v-model="ruleForm.cause_group"
placeholder="請(qǐng)選擇"
style="margin-left: 30px"
>
<el-option
v-for="(item, i) in TypeObj[ruleForm.procedure_type]"
:key="i"
:label="item"
:value="item"
>
</el-option>
</el-select>總結(jié)
到此這篇關(guān)于ElementUI中兩個(gè)Select選擇聯(lián)動(dòng)效果實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)ElementUI Select選擇聯(lián)動(dòng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解vuex數(shù)據(jù)傳輸?shù)膬煞N方式及this.$store undefined的解決辦法
這篇文章主要介紹了vuex數(shù)據(jù)傳輸?shù)膬煞N方式 及 this.$store undefined的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
vue2.x+webpack快速搭建前端項(xiàng)目框架詳解
本文給大家介紹了vue2.x、webpack、vuex、sass+axios、elementUI等快速搭建前端項(xiàng)目框架的詳細(xì)操作方法,需要的跟著學(xué)習(xí)下吧。2017-11-11
elementui中樹形表格切換展開不同層級(jí)的示例代碼
這篇文章主要介紹了elementui中樹形表格切換展開不同層級(jí),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
vue項(xiàng)目環(huán)境搭建?啟動(dòng)?移植操作示例及目錄結(jié)構(gòu)分析
這篇文章主要介紹了vue項(xiàng)目環(huán)境搭建、啟動(dòng)、項(xiàng)目移植、項(xiàng)目目錄結(jié)構(gòu)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
簡(jiǎn)單實(shí)現(xiàn)vue驗(yàn)證碼60秒倒計(jì)時(shí)功能
這篇文章主要為大家介紹了如何簡(jiǎn)單實(shí)現(xiàn)vue驗(yàn)證碼60秒倒計(jì)時(shí)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
vue移動(dòng)端彈起蒙層滑動(dòng)禁止底部滑動(dòng)操作
這篇文章主要介紹了vue移動(dòng)端彈起蒙層滑動(dòng)禁止底部滑動(dòng)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
在vue中實(shí)現(xiàn)PDF文件流預(yù)覽功能
這篇文章主要為大家詳細(xì)介紹如何在vue中實(shí)現(xiàn)PDF文件流預(yù)覽功能,文中的實(shí)現(xiàn)步驟講解詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考價(jià)值,需要的可以參考一下2023-12-12
使用 Vue 3 的 createApp方法初始化應(yīng)用的基本步驟
createApp 是 Vue 3 引入的全局 API,用于創(chuàng)建一個(gè)應(yīng)用實(shí)例,這篇文章主要介紹了如何使用 Vue 3 的 createApp方法初始化應(yīng)用,通過 createApp 方法,我們從 Vue 3 的基本初始化開始,擴(kuò)展到插件的應(yīng)用、多個(gè)應(yīng)用實(shí)例的創(chuàng)建等,需要的朋友可以參考下2024-05-05

