当选中一个el-option的时候触发下一个el-select中的el-option
时间: 2023-07-24 20:40:19 浏览: 120
您可以在第一个el-select的@change事件中获取当前选中的el-option的值,并将该值作为第二个el-select的options属性的值,以此来更新第二个el-select的选项。具体代码如下:
```html
<template>
<div>
<el-select v-model="selectedOption1" @change="handleChange">
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<el-select v-model="selectedOption2">
<el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
</template>
<script>
export default {
data() {
return {
selectedOption1: '',
selectedOption2: '',
options1: [
{ label: 'Option 1', value: 'option1' },
{ label: 'Option 2', value: 'option2' },
{ label: 'Option 3', value: 'option3' }
],
options2: []
}
},
methods: {
handleChange(value) {
// 根据第一个el-select的选中值更新第二个el-select的选项
if (value === 'option1') {
this.options2 = [
{ label: 'Option 1-1', value: 'option1-1' },
{ label: 'Option 1-2', value: 'option1-2' }
]
} else if (value === 'option2') {
this.options2 = [
{ label: 'Option 2-1', value: 'option2-1' },
{ label: 'Option 2-2', value: 'option2-2' }
]
} else if (value === 'option3') {
this.options2 = [
{ label: 'Option 3-1', value: 'option3-1' },
{ label: 'Option 3-2', value: 'option3-2' }
]
}
}
}
}
</script>
```
在上面的代码中,第一个el-select的选项为options1,当其选中某个el-option时,会触发@change事件,调用handleChange方法。在该方法中,根据第一个el-select的选中值更新第二个el-select的选项,然后第二个el-select的选项会重新渲染。
阅读全文