在Element UI中,可以通过v-model
绑定下拉框的值,并结合el-option
的disabled
属性来实现同组共享选择和不同组互斥的需求。以下是一个简单的示例:
<template>
<div>
<el-select v-model="selectedGroup1" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
:disabled="selectedGroup2 === item.value || item.group === 2"
></el-option>
</el-select>
<el-select v-model="selectedGroup2" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
:disabled="selectedGroup1 === item.value || item.group === 1"
></el-option>
</el-select>
</div>
</template>
<script>
export default {
data() {
return {
selectedGroup1: '',
selectedGroup2: '',
options: [
{ label: '选项1', value: 'option1', group: 1 },
{ label: '选项2', value: 'option2', group: 1 },
{ label: '选项3', value: 'option3', group: 2 },
{ label: '选项4', value: 'option4', group: 2 }
]
};
}
};
</script>
在这个示例中,我们有两个el-select
下拉框,分别用selectedGroup1
和selectedGroup2
绑定。每个下拉框的el-option
通过v-for
创建,并根据item.group
值和当前已选的值selectedGroup1
或selectedGroup2
来设置disabled
属性,以此实现同组共享选择和不同组互斥的需求。