Dropdown Opening

Default Dropdown Behaviour

By default, the dropdown will open anytime the underlying search input has focus. The dropdown will open when clicked, or when it has received focus when tabbing through inputs.

Customizing Dropdown Behaviour

The dropdownShouldOpen prop allows for full customization of the open/close behaviour. The prop accepts a function that should return a boolean value. The returned boolean value will be used to determine if the dropdown should be open/true or false/closed. The function receives the instance of the component as the only argument.

Example: Open the dropdown when search text is present


In this example, we will wait to show the dropdown until the user has started typing. However, if a country has already been selected, we will display the dropdown right away.

<template>
  <v-select
    :options="countries"
    v-model="country"
    :dropdown-should-open="dropdownShouldOpen"
  />
</template>

<script setup>
import countries from '../data/countries.js'
import { ref } from 'vue'

const country = ref(null)
const dropdownShouldOpen = (vm) => {
  if (country.value !== null) {
    return vm.open
  }
  return vm.search.length !== 0 && vm.open
}
</script>