Vuetify 在焦点上打开选择/自动完成/组合框菜单

Sal*_*lam 3 javascript vue.js vuetify.js

我有一个 Vuetifyjs 自动完成功能。我想在用户使用先前输入的 Tab 键关注它时打开它的菜单。下面是示例代码

<div id="app">
<v-app>
    <v-container >
    <v-row >
        <v-col cols="12" md="4">
        <v-text-field label="Text Field"/>
        </v-col>
        <v-col cols="12" md="6">
        <v-autocomplete
            label="Autocomplete"
            :items="components"
            hint="need to open menu on focus, just like click" persistent-hint
        ></v-autocomplete>
        </v-col>
    </v-row>
    </v-container>
</v-app>
</div>

<script>
new Vue({
  el: "#app",
  vuetify: new Vuetify(),
  data: {
        components: [
          'Autocompletes', 'Comboboxes', 'Forms', 'Inputs', 'Overflow Buttons', 'Selects', 'Selection Controls', 'Sliders', 'Textareas', 'Text Fields',
        ],
  },
  methods: {
  }
})
</script>
Run Code Online (Sandbox Code Playgroud)

我还为此创建了一支笔https://codepen.io/salalaslam/pen/YzzPajN

Dev*_*.DY 14

因为 vuetify 没有你想要的选项,你必须直接控制它。

一个input标签里面存在autocomplete组件。直接在此input标签上指定焦点事件。

尝试这个。

// template

<v-autocomplete
    ref="autocomplete" 
    label="Autocomplete"
    :items="components"
    hint="need to open menu on focus, just like click" 
    persistent-hint
></v-autocomplete>
Run Code Online (Sandbox Code Playgroud)
export default {
  mounted () {
    let autocompleteInput = this.$refs.autocomplete.$refs.input

    autocompleteInput.addEventListener('focus', this.onFocus, true)
  },
  methods: {
    onFocus (e) {
      this.$refs.autocomplete.isMenuActive = true  // open item list
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

笔 - https://codepen.io/kdydesign/pen/rNNadXN?editors=1111