Tilbake til alle komponenter

Select

Select er nedtrekksmenyen med egendefinert dropdown-grensesnitt. Den tar en items-array og har sin egen SelectChangeEventHandler. En ny, forenklet variant — BETA_Select — er under utvikling og vil erstatte denne over tid.

Viktig informasjon

  • BETA_Select er den anbefalte veien videre. Se migreringsveiledningen nedenfor for å komme i gang.

Props

Props
Prop
Type
Påkrevd
Standard
Beskrivelse
labelEgendefinertstringJaSynlig label over nedtrekksmenyen.
nameEgendefinertstringJaSkjemafeltets navn — brukes av react-hook-form og native form submit.
itemsEgendefinertArray<string | ValuePair>JaListe over valgmuligheter. Bruk ValuePair ({ value, label }) for å skille mellom verdi og visningsnavn.
valueEgendefinertstringNeiValgt verdi (kontrollert).
onChangeEgendefinertSelectChangeEventHandlerNeiKalles med { type: 'change', target: { name, value } } ved valg. Kompatibel med react-hook-form.
onBlurEgendefinertSelectChangeEventHandlerNeiKalles med { type: 'blur', target: { name, value } } når feltet mister fokus.
errorLabelEgendefinertstringNeiFeilmelding vist under feltet.
helpLabelEgendefinertstringNeiHjelpetekst vist under feltet.
defaultPromptEgendefinertstringNei"Velg"Plassholdertekst som vises når ingenting er valgt.
searchableEgendefinertboolean | ((searchValue: string, item: string | ValuePair) => boolean)NeifalseAktiverer søk i listen. Kan ta en egendefinert filtreringsfunksjon.
maxShownOptionsEgendefinertnumberNei5Antall valg synlig i listen før den scroller.
inlineEgendefinertbooleanNeifalseViser label og nedtrekksmeny på samme linje.
widthEgendefinertstringNeiSetter bredden på nedtrekksmenyen (CSS-verdi).
disabledNative HTMLbooleanNeiDeaktiverer feltet.

Eksempler

Grunnleggende nedtrekksmeny

TSX

Med ValuePair og hjelpetekst

Bruk ValuePair-objekter når verdien og visningsnavnet skal være forskjellige.

Velg rollen som best beskriver deg
TSX

Migrering

Disse eksemplene viser hvordan du erstatter utfasede props med den anbefalte API-en.

Migrer fra Select til BETA_Select

Utfaset

BETA_Select bruker native <option>-elementer som children i stedet for en items-array, og standard React onChange i stedet for SelectChangeEventHandler.

  1. Finn denne koden
    TSX
    import { Select } from "@fremtind/jokul/select";
    
    <Select
        label="Fylke"
        name="county"
        items={["Oslo", "Viken", "Innlandet", "Agder"]}
        value={value}
        onChange={({ target }) => setValue(target.value)}
    />
  2. Endre importen fra Select til BETA_Select: import { BETA_Select as Select } from "@fremtind/jokul/select"
  3. Fjern items-propen.
  4. Legg til <option>-elementer som children. Bruk value-attributtet for å sette verdien.
  5. Endre onChange til å bruke standard React ChangeEvent: onChange={(e) => setValue(e.target.value)}
  6. Gi nytt navn til defaultPrompt → placeholder om du brukte det.
  7. Merk: searchable og maxShownOptions er ikke tilgjengelig i BETA_Select ennå.
  8. Erstatt med dette
    TSX
    import { BETA_Select as Select } from "@fremtind/jokul/select";
    
    <Select
        label="Fylke"
        name="county"
        value={value}
        onChange={(e) => setValue(e.target.value)}
    >
        <option value="oslo">Oslo</option>
        <option value="viken">Viken</option>
        <option value="innlandet">Innlandet</option>
        <option value="agder">Agder</option>
    </Select>

Relaterte komponenter

Select (beta)Beta

BETA_Select er en ny, forenklet variant av Select som wrapper det native <select>-elementet med Jøkul-styling.

Velg forsikringstype
RadioButton

RadioButton og RadioButtonGroup brukes for enovalgslister.

Autosuggest

Autosuggest er et tekstinputfelt som viser forslag mens brukeren skriver.