" target="_blank" rel="noreferrer noopener" class="mt-4 w-fit navds-button navds-button--secondary-neutral navds-button--medium">
ActionMenu er en nedtrekksmeny for handlinger og navigasjon. Ofte brukt for å samle relaterte handlinger og redusere unødvendig støy (visuell kompleksitet) i grensesnitt.
Ved å gruppere elementer i ActionMenu vil menyen bli mer oversiktlig og lettere å navigere. Dette vil være ekstra viktig for komplese menyer som inneholder ulike kontekster og funksjonalitet.
Du vil selv måtte legge til funksjonalitet for å lytte til tastatursnarveier.
Undermenyer lar deg forenkle komplekse grensesnitt og filter ved å flytte innholdet til en godt strukturert meny. Vi anbefaler maks to nivåer med undermenyer.
Med CheckboxItem og RadioItem i ActionMenu er det enkelt å lage et filter for tabeller eller andre komplekse grensesnitt.
ActionMenu kan være en nyttig komponent for å gjemme sekundære handlinger som ikke nødvendigvis trenger å være tilgjengelige for brukeren til enhver tid. Men som en konsekvens vil dette kreve at brukeren er bedre kjent med systemet og hvilke funksjonaliteter som er gjemt bak hva. Vær forsiktig med bruk av komponenten på åpne brukerflater og vær klar over at innholdet i komponenten ikke nødvendigvis vil bli oppdaget av alle.
Trigger skal alltid være koblet til en knapp. ActionMenu skal aldri være koblet til en primærhandling, som f.eks en primary button.
Knapp som åpner ActionMenu bør alltid ha ikon for å bedre indikere hvilken handling elementet utfører ved interaksjon. ChevronDownIcon vil i de fleste tilfeller være go-to ikon.
Som hovedregel bør elementer grupperes med ActionMenu.Group
.
Unntaket er tilfeller der alle elementer i menyen har samme kontekst, men da skal ActionMenu.Trigger
(handlingen som åpner menyen) klart formidle konteksten til handlingene.
Undermenyer kan være en god metode for å gruppere relaterte handlinger under samme meny, men øker kompleksiteten.
Hver undermeny bør bare inneholde én kontekst. Dette gjør det lettere for hjelpemidler å navigere menyen effektivt.
Være forsiktig med å bruke ikoner som ligner på innebygde elementer som Submenu.Trigger
, CheckboxItem
eller RadioItem
. Dette gjelder f.eks. Checkmark og Chevron.
Hvis et element i en gruppe inneholder ikon, bør alle andre også gjøre det. Eksempel for gruppering demonstrerer dette konseptet.
Husk at nettlesere og OS ofte bruker en del snarveier allerede. Disse er dokumentert på sidene deres:
Du må selv implementere håndtering av snarveier for løsningen din. Det finnes uendelig med metoder for å håndtere dette, men vi legger ved en enkel implementasjon for React.
Komponenten implementerer standard Menu Button og Menu pattern.
Klikk utenfor ActionMenu lukker meny og fokuserer ActionMenu.Trigger. Selve menyen er i "modal"-modus når åpen, som betyr at man ikke vil kunne interagere med noen elementer utenfor før den er lukket.
boolean
((open: boolean) => void)
HTMLElement | null
string
(string & {}) | AkselColor
LegacyRef<HTMLButtonElement>
"start" | "end"
string
(string & {}) | AkselColor
LegacyRef<HTMLDivElement>
string
(string & {}) | AkselColor
string
LegacyRef<HTMLDivElement>
string
(string & {}) | AkselColor
LegacyRef<HTMLDivElement>
React.ElementType
string
"danger"
ReactNode
string
(string & {}) | AkselColor
((event: Event) => void)
boolean
LegacyRef<HTMLDivElement>
string
string
(string & {}) | AkselColor
((event: Event) => void)
boolean
CheckedState
((checked: boolean) => void)
LegacyRef<HTMLDivElement>
string
string
string
(string & {}) | AkselColor
string
((value: string) => void)
LegacyRef<HTMLDivElement>
string
(string & {}) | AkselColor
((event: Event) => void)
boolean
string
LegacyRef<HTMLDivElement>
string
(string & {}) | AkselColor
LegacyRef<HTMLDivElement>
boolean
((open: boolean) => void)
ReactNode
string
(string & {}) | AkselColor
boolean
LegacyRef<HTMLDivElement>
string
(string & {}) | AkselColor
LegacyRef<HTMLDivElement>