7

我有这个 v-autocomplete 字段,它在下拉列表中有一个项目列表。这是一个多选,所以可以选择很多项目。

<v-autocomplete 
  v-model="defendantCode"
  label="Defendant Code"
  :items="defendantCodeOptions"                          
  :loading="defendantCodeIsLoading"
  :filter="customFilter"
  :clear-on-select="true"
  clearable
  multiple
  dense>
</v-autocomplete>

但是我遇到的问题是,当用户开始在字段中输入内容以过滤列表,然后在列表中选择一个项目时,用户输入的文本保留在字段中,它不会被清除或覆盖选定的列表项。

选择列表项时有没有办法删除它?

前任。

  1. 用户有下拉列表来选择项目

在此处输入图像描述

  1. 用户开始输入要过滤的项目

在此处输入图像描述

  1. 然后用户选择项目,但初始文本仍保留在字段中

在此处输入图像描述

4

1 回答 1

7

嗯,这很有趣,但是查看实际的组件代码会发现一个“searchInput”道具,这就是您所追求的。

所以你希望你<autocomplete>的包含@input:search-input属性。

    <v-autocomplete 
        v-model="defendantCode"
        label="Defendant Code"
        :items="defendantCodeOptions"                          
        :loading="defendantCodeIsLoading"
        :filter="customFilter"
        clearable
        multiple
        dense
        @input="searchInput=null"
        :search-input.sync="searchInput">
    </v-autocomplete>

然后你会想要包含一个数据属性searchInput

    data() {
        return {
            ...
            searchInput: null,
            ...
        }
    },

而已。

另外,我猜你猜到:clear-on-select了哪个没有做任何事情。

于 2019-06-28T00:16:29.513 回答