Navigeringsmeny
- Komponent
-
FNavigationMenu
- Status
-
Produktionsklar
Navigeringsmeny låter användaren navigera i en applikation med flera undersidor och se vilken sida användaren befinner sig på.
Navigeringsmeny i horisontellt läge
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: "" },
];
Navigeringsmeny i vertikalt läge
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
Name | Description | Type | Required | Default |
---|---|---|---|---|
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" |
Name | Description | Properties |
---|---|---|
selectedRoute | Event that is dispatched when a menu item is selected, for example, by clicking on the item. | route: string |
update:route | V-model event to update route property. | route: string |