<template> <div :class="[ 'ui fluid search selection dropdown', { 'active visible': isOpen }, { disabled }, ]" @click="toggleDropdown" > <div class="default text">{{ selected }}</div> <i class="dropdown icon"></i> <div :class="['menu', { 'visible transition': isOpen }]"> <div v-for="option in options || ['No results found.']" @click="select(option)" :key="option" :class="[ options ? 'item' : 'message', { 'active selected': option === selected }, ]" > {{ option }} </div> </div> </div> </template> <script> export default { name: "Dropdown", props: ["options", "selected", "disabled"], computed: {}, data() { return { isOpen: false, }; }, methods: { toggleDropdown() { this.isOpen = !this.isOpen; }, select(option) { this.$emit("update:selection", option); }, }, }; </script>