Vue Element UI el-select 输入查询并动态添加选项
是的,可以使用 el-select 的 filterable 属性来实现输入查询的功能。当用户输入时,el-select 会根据输入的值进行过滤,并显示匹配的选项。如果输入的值没有匹配的选项,你可以通过监听 el-select 的 change 事件,判断输入的值是否存在于选项列表中,如果不存在,可以动态添加这个值到选项列表中。
以下是一个示例代码:
<template>
<el-select
v-model='selected'
filterable
@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: [
{ value: 'option1', label: 'Option 1' },
{ value: 'option2', label: 'Option 2' },
{ value: 'option3', label: 'Option 3' }
]
};
},
methods: {
handleChange(value) {
if (!this.options.some(item => item.value === value)) {
this.options.push({ value, label: value });
}
}
}
};
</script>
在上面的示例中,el-select 绑定了一个选项列表 options,当用户输入值时,会根据输入值进行过滤。当用户选择一个选项或输入一个新的值时,会触发 change 事件,通过判断输入的值是否存在于选项列表中,如果不存在,则将这个值添加到选项列表中。
原文地址: https://www.cveoy.top/t/topic/qqic 著作权归作者所有。请勿转载和采集!