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>