Vue for循环遍历多个select下拉框解决选择某个el-option下拉框的内容所有的el-select值全部都跟着改变
可以给每个el-select添加一个v-model绑定不同的数据,然后在el-option的@change事件中更新对应的v-model绑定的数据,这样就可以实现选择某个el-option下拉框的内容,只有对应的el-select的值会改变。
示例代码:
<template>
<div>
<el-select v-model="selectedOption1" @change="handleChange(1)">
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-select v-model="selectedOption2" @change="handleChange(2)">
<el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-select v-model="selectedOption3" @change="handleChange(3)">
<el-option v-for="item in options3" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</div>
</template>
<script>
export default {
data() {
return {
options1: [
{ label: 'Option 1-1', value: 'option1-1' },
{ label: 'Option 1-2', value: 'option1-2' },
{ label: 'Option 1-3', value: 'option1-3' }
],
options2: [
{ label: 'Option 2-1', value: 'option2-1' },
{ label: 'Option 2-2', value: 'option2-2' },
{ label: 'Option 2-3', value: 'option2-3' }
],
options3: [
{ label: 'Option 3-1', value: 'option3-1' },
{ label: 'Option 3-2', value: 'option3-2' },
{ label: 'Option 3-3', value: 'option3-3' }
],
selectedOption1: '',
selectedOption2: '',
selectedOption3: ''
}
},
methods: {
handleChange(index) {
switch (index) {
case 1:
this.selectedOption2 = '';
this.selectedOption3 = '';
break;
case 2:
this.selectedOption1 = '';
this.selectedOption3 = '';
break;
case 3:
this.selectedOption1 = '';
this.selectedOption2 = '';
break;
}
}
}
}
</script>
在以上示例代码中,分别有三个el-select,分别绑定不同的v-model,在@change事件中调用handleChange方法,根据传入的index更新对应的v-model绑定的数据,其余的v-model绑定的数据则清空。这样就可以实现选择某个el-option下拉框的内容,只有对应的el-select的值会改变。
原文地址: https://www.cveoy.top/t/topic/bekA 著作权归作者所有。请勿转载和采集!