el-select 根据id显示对应的下级select
时间: 2023-07-24 21:37:46 浏览: 117
好的,针对您的问题,您可以通过在 el-select 的 change 事件中获取当前选中的 id,然后根据 id 去后端请求对应的下级选项数据,最后将数据赋值给下级的 el-select 组件即可。
以下是一个示例代码:
```html
<template>
<div>
<el-select v-model="selectedId" placeholder="请选择" @change="loadSubOptions">
<el-option
v-for="option in options"
:key="option.id"
:label="option.label"
:value="option.id"
/>
</el-select>
<el-select v-model="selectedSubId" placeholder="请选择">
<el-option
v-for="subOption in subOptions"
:key="subOption.id"
:label="subOption.label"
:value="subOption.id"
/>
</el-select>
</div>
</template>
<script>
export default {
data() {
return {
selectedId: '',
selectedSubId: '',
options: [
{
id: 1,
label: '选项一'
},
{
id: 2,
label: '选项二'
},
{
id: 3,
label: '选项三'
}
],
subOptions: []
}
},
methods: {
async loadSubOptions() {
// 根据当前选中的 id,请求对应的下级选项数据
const response = await this.$http.get(`/api/options/${this.selectedId}/sub-options`)
this.subOptions = response.data
}
}
}
</script>
```
在上面的示例代码中,我们定义了两个 el-select 组件,一个用于选择上级选项,一个用于显示下级选项。在上级 el-select 的 change 事件中,我们调用了 loadSubOptions 方法,该方法根据当前选中的 id 去后端请求对应的下级选项数据,并将数据赋值给 subOptions 属性。
在下级 el-select 中,我们通过 v-for 指令遍历 subOptions 数组,并将每个选项渲染成一个 el-option 组件。
希望这个回答能够帮到您,如果还有其他问题,请随时提出。
阅读全文