a-select中循环默认列表,并且支持自定义添加选项
时间: 2023-11-27 10:52:39 浏览: 33
在a-select组件中,可以使用v-for指令来循环默认的选项列表。同时,也可以通过v-model绑定一个自定义的选项列表,从而支持自定义添加选项。下面是一个示例代码:
```html
<template>
<div>
<a-select v-model="selectedOption">
<a-select-option v-for="option in defaultOptions" :key="option">{{ option }}</a-select-option>
<a-select-option v-for="option in customOptions" :key="option" :value="option">{{ option }}</a-select-option>
</a-select>
<a-input v-model="newOption" placeholder="输入新选项" @pressEnter="addOption" />
</div>
</template>
<script>
export default {
data() {
return {
defaultOptions: ['选项1', '选项2', '选项3'],
customOptions: [],
selectedOption: '',
newOption: '',
};
},
methods: {
addOption() {
if (this.newOption && !this.customOptions.includes(this.newOption)) {
this.customOptions.push(this.newOption);
this.selectedOption = this.newOption;
this.newOption = '';
}
},
},
};
</script>
```
在这个示例中,我们定义了一个默认选项列表defaultOptions和一个自定义选项列表customOptions。在a-select中,我们使用v-for指令来循环这两个列表,并且将自定义选项的value属性绑定为选项的值。同时,我们使用v-model指令将选择的选项绑定到selectedOption属性上。在a-input中,我们监听pressEnter事件,在用户按下回车键时将新的选项添加到customOptions列表中,并且将其设置为当前选择的选项。