Forms

useDropdownField

Composable interno aggregatore per componenti dropdown — raggruppa icone, componenti condivisi e re-export dei composables dropdown.

Composable interno — aggregatore per ridurre il numero di import nei componenti dropdown (Select, MultiSelect, TreeSelect, ecc.).

Firma TypeScript

export function useDropdownField(props: FormIconsProps): UseDropdownFieldResult

export interface UseDropdownFieldResult {
  icons: ComputedRef<ComponentIcons>;
  resolvedLoadingIcon: ComputedRef<string>;
  resolvedClearIcon: ComputedRef<string>;
  FormLabel: typeof FormLabelComponent;
  FormHelperText: typeof FormHelperTextComponent;
}

Parametri

ParametroTipoDescrizione
propsFormIconsPropsProps del componente relative alle icone (loadingIcon, clearIcon)

Valore di Ritorno

ProprietàTipoDescrizione
iconsComputedRef<ComponentIcons>Configurazione icone globale
resolvedLoadingIconComputedRef<string>Icona loading risolta (prop > default config)
resolvedClearIconComputedRef<string>Icona clear risolta (prop > default config)
FormLabelComponentComponente FormLabel condiviso
FormHelperTextComponentComponente FormHelperText condiviso

Re-export

Il modulo re-esporta per convenienza:

  • useDropdownLifecycle da common/useDropdownLifecycle
  • useDropdownPosition da common/useDropdownPosition
  • useListNavigation da common/useListNavigation
  • normalizeOption da utils/normalizeOption

Esempio

// In un componente Select
import { useDropdownField } from '@pzeta/vue-components/internal'

const { icons, resolvedLoadingIcon, resolvedClearIcon, FormLabel, FormHelperText } =
  useDropdownField(props)

Note

  • Questo composable e principalmente un aggregatore di convenienza — riduce 7+ import a 1 per ogni componente dropdown.
  • La risoluzione dell'icona usa priorita: prop specifica del componente > configurazione globale via ConfigPlugin > icona di default.