el-select可选择可搜索可输入新内容
在Vue.js中,你可以使用Element UI库的el-select
组件来创建一个可搜索的下拉选择框,并允许用户输入新的选项。你需要使用filterable
属性来启用搜索功能,并监听输入事件来动态处理新选项的添加。
以下是一个简单的例子:
<template>
<el-select
v-model="selected"
filterable
allow-create
placeholder="请选择或输入内容"
@change="handleChange"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
selected: '',
options: [
{ label: '选项1', value: 'option1' },
{ label: '选项2', value: 'option2' },
// ...其他选项
],
};
},
methods: {
handleChange(value) {
// 如果输入的内容不在选项中,则添加到选项列表中
if (this.options.every(item => item.value !== value)) {
this.options.push({ label: value, value });
}
},
},
};
</script>
在这个例子中,el-select
组件的v-model
绑定了selected
变量,用于接收选中的值。filterable
属性使得用户可以搜索现有选项。allow-create
属性允许用户输入新的选项并创建它。当用户选择一个选项或输入新内容后,handleChange
方法会被触发。如果输入的内容不在现有选项中,则会将其作为新的选项添加到options
数组中。
评论已关闭