Выбор

Select с floating label, teleported menu и click-catcher overlay.

Установка

npx alixan-ui-nuxt add select

Использование

<script setup lang="ts">
const value = ref('alixan')
const options = [
  { label: 'Alixan UI', value: 'alixan' },
  { label: 'Cupertino', value: 'cupertino' },
  { label: 'Material', value: 'material', disabled: true },
]
</script>

<template>
  <Select v-model="value" label="Design" :options="options" />
</template>

Валидация

<script setup lang="ts">
const value = ref(null)
const options = [
  { label: 'Alixan UI', value: 'alixan' },
  { label: 'Cupertino', value: 'cupertino' },
  { label: 'Material', value: 'material', disabled: true },
]
</script>

<template>
  <Select v-model="value" label="Design" :options="options" required />
</template>

Справочник API

СвойствоТипПо умолчаниюОписание
modelValuestring | number | nullnullВыбранное значение option, используемое через v-model.
labelstring-Текст floating label.
placeholderstring'Select option'Текст, отображаемый когда option не выбран.
optionsSelectOption[][]Список options с label, value и optional disabled.
disabledbooleanfalseОтключает взаимодействие с select.
teleportbooleantrueТелепортирует menu в body. Оставляйте true для nested popovers; ставьте false только если menu должна остаться внутри local layout.
requiredbooleanfalseПоказывает сообщение обязательного поля, если option не выбрана.
errorstring''Внешнее сообщение валидации, отображаемое после взаимодействия с select.