cascader第一级单选第二级多选
时间: 2024-01-12 21:21:20 浏览: 79
单选和多选
要实现cascader的第一级为单选,第二级为多选,可以使用一些前端框架或库来实现,例如Vue.js和Element UI。下面是一个使用Vue.js和Element UI实现的示例代码:
```html
<template>
<div>
<el-cascader
v-model="selectedOptions"
:options="options"
:props="props"
:show-all-levels="false"
:clearable="false"
:change-on-select="true"
@change="handleCascaderChange"
></el-cascader>
</div>
</template>
<script>
export default {
data() {
return {
selectedOptions: [],
options: [
{
value: 'option1',
label: 'Option 1',
children: [
{
value: 'option1-1',
label: 'Option 1-1',
children: [
{
value: 'option1-1-1',
label: 'Option 1-1-1'
},
{
value: 'option1-1-2',
label: 'Option 1-1-2'
}
]
},
{
value: 'option1-2',
label: 'Option 1-2',
children: [
{
value: 'option1-2-1',
label: 'Option 1-2-1'
},
{
value: 'option1-2-2',
label: 'Option 1-2-2'
}
]
}
]
},
{
value: 'option2',
label: 'Option 2',
children: [
{
value: 'option2-1',
label: 'Option 2-1',
children: [
{
value: 'option2-1-1',
label: 'Option 2-1-1'
},
{
value: 'option2-1-2',
label: 'Option 2-1-2'
}
]
},
{
value: 'option2-2',
label: 'Option 2-2',
children: [
{
value: 'option2-2-1',
label: 'Option 2-2-1'
},
{
value: 'option2-2-2',
label: 'Option 2-2-2'
}
]
}
]
}
],
props: {
value: 'value',
label: 'label',
children: 'children'
}
};
},
methods: {
handleCascaderChange(value) {
console.log(value);
}
}
};
</script>
```
在上面的示例中,`el-cascader`组件是Element UI提供的cascader组件,通过设置`show-all-levels`为`false`,可以实现第一级为单选,第二级为多选。通过设置`change-on-select`为`true`,可以在选择第一级选项时立即触发`change`事件。在`change`事件的处理函数中,可以获取到选择的值。
阅读全文