elementui 根据select选择器的值更新级联选择器的数据代码实现
时间: 2023-11-24 20:15:31 浏览: 150
好的,以下是 element-ui 中根据 select 选择器的值更新级联选择器的数据的代码实现:
```html
<template>
<div>
<el-select v-model="selectedValue" @change="handleChange">
<el-option v-for="item in selectOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-cascader :options="cascaderOptions" v-model="selectedCascader" :props="cascaderProps"></el-cascader>
</div>
</template>
<script>
export default {
data() {
return {
selectOptions: [
{
value: 'option1',
label: '选项1'
},
{
value: 'option2',
label: '选项2'
}
],
selectedValue: '',
cascaderOptions: [],
selectedCascader: [],
cascaderProps: {
value: 'id',
label: 'name',
children: 'children'
}
}
},
methods: {
handleChange() {
// 根据 select 选择器的值,更新级联选择器的数据
if (this.selectedValue === 'option1') {
this.cascaderOptions = [
{
id: 1,
name: '选项1-1',
children: [
{
id: 11,
name: '选项1-1-1'
},
{
id: 12,
name: '选项1-1-2'
}
]
},
{
id: 2,
name: '选项1-2',
children: [
{
id: 21,
name: '选项1-2-1'
},
{
id: 22,
name: '选项1-2-2'
}
]
}
]
} else if (this.selectedValue === 'option2') {
this.cascaderOptions = [
{
id: 3,
name: '选项2-1',
children: [
{
id: 31,
name: '选项2-1-1'
},
{
id: 32,
name: '选项2-1-2'
}
]
},
{
id: 4,
name: '选项2-2',
children: [
{
id: 41,
name: '选项2-2-1'
},
{
id: 42,
name: '选项2-2-2'
}
]
}
]
}
}
}
}
</script>
```
在上面的代码中,我们首先定义了一个 select 选择器和一个级联选择器。然后,在 select 选择器的 change 事件中,根据选中的值来更新级联选择器的 options 数据。
在这个例子中,我们定义了两个选项,分别是“选项1”和“选项2”。当选中“选项1”时,我们将级联选择器的 options 数据设置为包含两个对象的数组,每个对象都包含一个 id、一个 name 和一个 children 数组,children 数组又包含两个对象,每个对象都包含一个 id 和一个 name。当选中“选项2”时,我们将级联选择器的 options 数据设置为包含两个对象的数组,每个对象都包含一个 id、一个 name 和一个 children 数组,children 数组又包含两个对象,每个对象都包含一个 id 和一个 name。
注意,这里的 cascaderProps 属性是用来定义级联选择器的数据结构的,包括 value、label 和 children 字段。具体的数据结构可以根据你的需求来定义。
希望这个例子能够帮到你。
阅读全文