Campi Filtro

Select

Dropdown di selezione singola con opzioni statiche o reattive.

Panoramica

Dropdown per la selezione di un singolo valore. Genera un filtro eq.valore o con operatore personalizzato. Supporta opzioni statiche e array reattivi (Ref<[]>).

Anteprima live

Tipo

type: 'select'

Configurazione

import type { SelectFieldConfig } from '@pzeta/vue-ricerca'

const field: SelectFieldConfig = {
  key: 'stato',
  type: 'select',
  label: 'Stato',
  options: [
    { label: 'Attivo', value: 'attivo' },
    { label: 'Inattivo', value: 'inattivo' },
    { label: 'Sospeso', value: 'sospeso' },
  ],
  optionLabel: 'label',
  optionValue: 'value',
  showClear: true,
  filter: true,
}

Con opzioni asincrone

const opzioni = ref<Array<{ label: string; value: string }>>([])
onMounted(async () => {
  opzioni.value = await fetchCategorie()
})

const field: SelectFieldConfig = {
  key: 'idcategoria',
  type: 'select',
  label: 'Categoria',
  options: opzioni,   // Ref<[]> — si aggiorna automaticamente
  optionLabel: 'nome',
  optionValue: 'idcategoria',
}

Props specifiche

PropTipoDefaultDescrizione
keystringChiave nel model
labelstringLabel del campo
optionsunknown[] | Ref<unknown[]>Opzioni della dropdown
optionLabelstringProprietà da mostrare come testo
optionValuestringProprietà da usare come valore
showClearbooleantrueBottone cancella selezione
filterbooleanfalseFiltro inline nella dropdown
colSpannumber1Colonne grid occupate
visibleboolean | Ref<boolean>trueVisibilità reattiva

Query PostgREST generata

// { stato: 'eq.attivo' }

Con operatore personalizzato:

postgrest: { operator: 'neq' }
// { stato: 'neq.attivo' }