Navigeringsmeny

Navigeringsmeny låter användaren navigera i en applikation med flera undersidor och se vilken sida användaren befinner sig på.

I detta exemplet används typen NavigationMenuItem för att definiera länkar i menyn. Det finns två typer av länkar: "in-app" och "extern". Om användaren väljer ett item utan href skickas en event selectedRoute med argumentet route som kan användas ihop med till exempel Vue router. Om användaren klickar på ett item med en href blir beteendet som att klicka på en extern länk.

const routes: NavigationMenuItem[] = [
    { label: "label1", route: "ROUTE_1" },
    { label: "label2", route: "ROUTE_2" },
    { label: "label3", route: "ROUTE_3" },
    { label: "label4", route: "ROUTE_4", href: "/", target: "" },
];

Du aktiverar vertikalt läge genom att använda vertical prop:

 <f-navigation-menu
    :routes="routes"
+   vertical
    @selectedRoute="selectedRoute=$event"
 ></f-navigation-menu>

Overflow exempel

Detta exemplet visar på hur overflow beter sig. Overflow sker då ett element, till exempel navigeringsmenyn, har för mycket innehåll i sig (består av för många menuitems) för att kunna visas inom sin tilldelade yta (bredden i den här exemplet). Justera fönstrets storlek för att visa beteende vid overflow.

Ange modell (v-model:route)

En route-modell kan anges i navigeringsmenyn för att kunna styra vald route programmatiskt. Om ett värde tilldelas som inte finns i routes så kommer värdet att sättas om till "" och alla länkar att avmarkeras (om det inte finns en länk för route ""). I detta exempel kan man sätta om routen programmatiskt med hjälp av ett formulär.

Skärmläsare

Navigeringsmenyn innehåller två navigeringslandmärken: ett för menyn och ett för popup-menyn. Som standard är namnet i aria-label Navigeringsmeny för menyn och Popupmeny för popup-menyn. För att ändra dessa namn använd props menu-aria-label och popup-aria-label.

Se till att du använder tydliga namn som beskriver syftet för respektive navigering. Om flera navigeringsmenyer eller nav-element används samtidigt, se till att de alla har unika namn.

API

Props
NameDescriptionTypeRequiredDefault

v-model

Current route.

string

false

""

routes

The route items to be diplayed in the menu

NavigationMenuItem[]

true

vertical

If true, show the menu vertically

boolean

false

false

selectedMenuItemScreenReaderText

Screen reader text for selected item

string

false

""

menuMoreScreenReaderText

Screen reader text for the more menu item

string

false

""

menuMoreWithSelectedItemsScreenReaderText

Screen reader text for the more menu with selected items

string

false

""

menuAriaLabel

Unique accessible name for navigation landmark in menu.

string

false

"Navigeringsmeny"

popupAriaLabel

Unique accessible name for navigation landmark in popup.

string

false

"Popupmeny"

Events
NameDescriptionProperties

selectedRoute

Event that is dispatched when a menu item is selected, for example, by clicking on the item.
In most use cases the event payload is used to call Vue router.push() from the consumer code.

route: string

update:route

V-model event to update route property.

route: string

Esc för att stänga Pil upp/ner för att navigera Enter för att välja