Forms

useFormFieldMethods

Composable interno per metodi pubblici esposti dai campi form (focus, blur, select, setSelectionRange).

Composable interno — utilizzato dai componenti form che espongono metodi tramite defineExpose.

Firma TypeScript

export function useFormFieldMethods(options: UseFormFieldMethodsOptions): FormFieldMethodsResult

export interface UseFormFieldMethodsOptions {
  inputRef: Ref<HTMLInputElement | HTMLTextAreaElement | null>;
}

export interface FormFieldMethodsResult {
  focus: () => void;
  blur: () => void;
  select: () => void;
  setSelectionRange: (start: number, end: number, direction?: 'forward' | 'backward' | 'none') => void;
  getSelectionStart: () => number | null;
  getSelectionEnd: () => number | null;
  scrollIntoView: (options?: ScrollIntoViewOptions) => void;
}

Parametri

ParametroTipoDescrizione
options.inputRefRef<HTMLInputElement | HTMLTextAreaElement | null>Ref all'elemento input nativo

Valore di Ritorno

ProprietàTipoDescrizione
focus() => voidPorta il focus sull'input
blur() => voidRimuove il focus dall'input
select() => voidSeleziona tutto il testo
setSelectionRange(start, end, direction?) => voidImposta un range di selezione
getSelectionStart() => number | nullPosizione inizio selezione
getSelectionEnd() => number | nullPosizione fine selezione
scrollIntoView(options?) => voidScrolla l'input nella viewport

Esempio

const inputRef = ref<HTMLInputElement | null>(null)
const { focus, blur, select } = useFormFieldMethods({ inputRef })

// Esponi i metodi al componente padre
defineExpose({ focus, blur, select })
// Nel componente padre
const inputRef = ref()
inputRef.value?.focus()
inputRef.value?.select()

Note

  • Tutti i metodi sono no-op se inputRef.value e null (componente non ancora montato o distrutto).
  • Funzione utility esportata: getBasicExposeMethods(methods) che restituisce solo { focus, blur, select } per uso semplificato con defineExpose.