vue+elementui 多级多选穿梭框(常用于省市区三级联动)
在Vue中使用Element UI实现多级多选穿梭框,可以通过el-cascader
组件来实现。以下是一个简单的例子:
<template>
<el-cascader
v-model="selectedOptions"
:options="options"
:props="{ multiple: true, checkStrictly: true }"
@change="handleChange"
clearable
></el-cascader>
</template>
<script>
export default {
data() {
return {
selectedOptions: [],
options: [
{
value: 'guid1',
label: '省份A',
children: [
{
value: 'guid2',
label: '城市B',
children: [
{ value: 'guid3', label: '区域C' },
{ value: 'guid4', label: '区域D' }
]
},
{
value: 'guid5',
label: '城市E',
children: [
{ value: 'guid6', label: '区域F' },
{ value: 'guid7', label: '区域G' }
]
}
]
},
// ... 可以添加更多省份和城市
]
};
},
methods: {
handleChange(value) {
console.log(value);
}
}
};
</script>
在这个例子中,el-cascader
组件被用来创建多级多选穿梭框。v-model
绑定了selectedOptions
数组,它将保存选中的值。options
是一个嵌套的对象结构,代表了省市区的层级关系。props
属性中的multiple
设置为true
启用多选,checkStrictly
设置为true
确保可以选中所有级别的选项。
当选项变化时,handleChange
方法会被触发,你可以在这个方法中处理选中值的逻辑。
评论已关闭