## `input` Triggered when the selected value changes. Used internally for `v-model`. ```js /** * @param {Object|String} val - selected option. */ this.$emit("input", val); ``` ## `open` Triggered when the dropdown is open. ```js this.$emit("open"); ``` ## `close` Triggered when the dropdown is closed. ```js this.$emit("close"); ``` ## `option:selecting` Triggered after an option has been selected, before updating internal state. ```js this.$emit("option:selecting", selectedOption); ``` ## `option:selected` Triggered when an option has been selected, after updating internal state. ```js this.$emit("option:selected", selectedOption); ``` ## `option:deselecting` Triggered when an option has been deselected, before updating internal state. ```js this.$emit("option:deselecting", selectedOption); ``` ## `option:deselected` Triggered when an option has been deselected, after updating internal state. ```js this.$emit("option:deselected", deselectedOption); ``` ## `option:created` Triggered when `taggable` is `true` and a new option has been created. ```js /** * @param {Object} newOption - created option */ this.$emit("option:created", newOption); ``` ## `search` Anytime the search string changes, emit the 'search' event. The event is passed with two parameters: the search string, and a function that accepts a boolean parameter to toggle the loading state. See the [AJAX Guide](/guide/ajax.html#loading-options-with-ajax) for a complete example. ```js /** * @param {String} searchString - the search string * @param {Function} toggleLoading - function to toggle loading state, accepts true or false boolean */ this.$emit('search', this.search, this.toggleLoading); ``` ```vue ``` ## `search:blur` Triggered when the text input loses focus. The dropdown will close immediately before this event is triggered. ```js this.$emit("search:blur"); ``` ## `search:focus` Triggered when the text input gains focus. The dropdown will open immediately before this event is triggered. ```js this.$emit("search:focus"); ``` ## `search` Triggered when the search text changes. ```js /** * Anytime the search string changes, emit the * 'search' event. The event is passed with two * parameters: the search string, and a function * that accepts a boolean parameter to toggle the * loading state. * * @emits search */ this.$emit('search', newSearchString, toggleLoading); ```