是的,可以使用 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/iJ1D 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录