ElementUI中兩個Select選擇聯(lián)動效果實現(xiàn)方法
實現(xiàn)ElementUI中兩個Select選擇聯(lián)動效果
先上圖

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

methods: {
changeSelect() {
// 聯(lián)動子級滯空
this.ruleForm.cause_group = "";
// 循環(huán)遍歷父級
for (const k in this.procedureType) {
if (this.ruleForm.procedure_type === this.procedureType[k]) {
// 核心代碼在這里 進行賦值操作
this.causeGroup = this.TypeObj[this.ruleForm.procedure_type];
}
}
},
},
data() {
return {
// 在這里定義所需的值
procedureType: ["選項a", "選項b"],
TypeObj: {
選項a: ["連級選項a1", "連級選項a2", "連級選項a3"],
選項b: ["連級選項b1", "連級選項b2", "連級選項b3"],
},
ruleForm: {
procedure_type: "",
cause_group: "",
},
// 由 changeSelect 接管 causeGroup 的值
causeGroup: [],
};
},到這里已經(jīng)實現(xiàn)了兩個Select下拉聯(lián)動的效果 關鍵就在于將定義好的值賦值給子級數(shù)組本文是模擬假數(shù)據(jù) 所以直接在數(shù)組定義數(shù)據(jù) 如果是從接口拿值 在接口請求處將數(shù)據(jù)賦給procedureType與TypeObj即可其實還有更簡單的寫法 子級數(shù)組直接循環(huán) 不進行賦值操作 但仍需保留滯空操作
<el-select
v-model="ruleForm.cause_group"
placeholder="請選擇"
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>總結
到此這篇關于ElementUI中兩個Select選擇聯(lián)動效果實現(xiàn)的文章就介紹到這了,更多相關ElementUI Select選擇聯(lián)動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

