Komponenter
Suggestion
Suggestion er en søkbar "select" med mulighet for å velge flere alternativer.
React
const Preview = () => { const DATA_PLACES = [ 'Sogndal', 'Oslo', 'Brønnøysund', 'Stavanger', 'Trondheim', 'Bergen', 'Lillestrøm', ]; return ( <Field> <Label>Velg en destinasjon</Label> <EXPERIMENTAL_Suggestion> <EXPERIMENTAL_Suggestion.Input /> <EXPERIMENTAL_Suggestion.Clear /> <EXPERIMENTAL_Suggestion.List> <EXPERIMENTAL_Suggestion.Empty> Ingen treff </EXPERIMENTAL_Suggestion.Empty> {DATA_PLACES.map((place) => ( <EXPERIMENTAL_Suggestion.Option key={place} label={place} value={place} > {place} <div>Kommune</div> </EXPERIMENTAL_Suggestion.Option> ))} </EXPERIMENTAL_Suggestion.List> </EXPERIMENTAL_Suggestion> </Field> ); }; render(<Preview />)
Bruk Suggestion når
- brukeren skal velge ett eller flere alternativer fra en større liste
- det er nyttig at listen filtreres basert på det brukeren skriver
- det er raskere å søke enn å skrolle
Unngå Suggestion når
- brukeren skal velge mellom få alternativer, bruk heller
RadioellerCheckbox - brukeren forventer en operativsystem-styrt opplevelse, bruk heller en native
<select>-komponent
Eksempel
Flervalg
Du kan gi brukeren mulighet til å velge flere alternativer. Slettbare Chips vil komme etter <label>, men før inndatafeltet.
React
const Multiple = () => { const DATA_PLACES = [ 'Sogndal', 'Oslo', 'Brønnøysund', 'Stavanger', 'Trondheim', 'Bergen', 'Lillestrøm', ]; return ( <Field> <Label>Velg en destinasjon</Label> <EXPERIMENTAL_Suggestion multiple> <EXPERIMENTAL_Suggestion.Input /> <EXPERIMENTAL_Suggestion.Clear /> <EXPERIMENTAL_Suggestion.List> <EXPERIMENTAL_Suggestion.Empty> Ingen treff </EXPERIMENTAL_Suggestion.Empty> {DATA_PLACES.map((place) => ( <EXPERIMENTAL_Suggestion.Option key={place}> {place} </EXPERIMENTAL_Suggestion.Option> ))} </EXPERIMENTAL_Suggestion.List> </EXPERIMENTAL_Suggestion> </Field> ); }; render(<Multiple />)
Filter
Filter er som standard på, og filteret ser etter etter teksten i input. Du kan sende inn ditt eget filter. Under vises et eksempel som skrur av filteret helt.
React
const Filter = () => { const DATA_PLACES = [ 'Sogndal', 'Oslo', 'Brønnøysund', 'Stavanger', 'Trondheim', 'Bergen', 'Lillestrøm', ]; return ( <Field> <Label>Skriv inn et tall mellom 1-6</Label> <EXPERIMENTAL_Suggestion filter={false}> <EXPERIMENTAL_Suggestion.Input /> <EXPERIMENTAL_Suggestion.Clear /> <EXPERIMENTAL_Suggestion.List> <EXPERIMENTAL_Suggestion.Empty> Ingen treff </EXPERIMENTAL_Suggestion.Empty> {DATA_PLACES.map((label) => ( <EXPERIMENTAL_Suggestion.Option key={label} value={label.toLowerCase()} > {label} </EXPERIMENTAL_Suggestion.Option> ))} </EXPERIMENTAL_Suggestion.List> </EXPERIMENTAL_Suggestion> </Field> ); }; render(<Filter />)
Retningslinjer
Suggestion fungerer best når brukeren skal finne riktig alternativ i en større liste. Komponentens styrke ligger i muligheten til å filtrere mens brukeren skriver, og dermed gjøre det enklere å navigere i mange valg.
Tekst
Bruk tydelig label som forklarer hva brukeren skal velge.
Gjør slik
Unngå dette
Hvert alternativ bør være kort, helst ett ord eller en kort frase. Hvis ingen treff finnes, vis en kort melding, for eksempel «Ingen treff».
Rediger denne siden på github.com (åpnes i ny fane)