选择下拉项后从 vuetify v-autocomplete 中清除输入的文本

use*_*050 7 javascript vue.js vuetify.js v-autocomplete

我有这个 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>
Run Code Online (Sandbox Code Playgroud)

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

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

前任。

  1. 用户有下拉列表可以从中选择项目

在此处输入图片说明

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

在此处输入图片说明

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

在此处输入图片说明

chi*_*.io 6

嗯,这是一个有趣的问题,但是查看实际的组件代码会发现一个“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>
Run Code Online (Sandbox Code Playgroud)

然后,您需要为 包含一个数据属性searchInput

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

Run Code Online (Sandbox Code Playgroud)

就是这样。

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