component Select { props { @event input = function @event change = function @event focus = function @event blur = function @event open = function @event close = function @event invalid = function size = "default" color = "primary" id = "" name = "" label = "Select" hiddenLabel = false value = "" values = [] options = [] placeholder = "Select an option" variant = "normal" icon = "" iconPosition = "start" helperText = "" cornerHint = "" error = "" inline = false multiple = false readonly = false disabled = false required = false class = "" } functions { function selected(option) { if (multiple) return values.includes(option.value) return option.value === value } function emitField(nameEvent, sourceEvent) { sourceEvent.stopPropagation() $emit(nameEvent, { value: sourceEvent.currentTarget.value, name: name, sourceEvent: sourceEvent }) } function handleFocus(sourceEvent) { emitField("focus", sourceEvent); $emit("open", { name: name, sourceEvent: sourceEvent }) } function handleBlur(sourceEvent) { emitField("blur", sourceEvent); $emit("close", { name: name, sourceEvent: sourceEvent }) } function handleInvalid(sourceEvent) { $emit("invalid", { name: name, message: sourceEvent.currentTarget.validationMessage, sourceEvent: sourceEvent }) } } view {
{#if cornerHint}{cornerHint}{/if}
{#if icon}{/if} {#if variant === "floating"}{label}{/if}
{#if helperText}{helperText}{/if} {error}
} }