AppNav
Die AppNav-Komponente erstellt ein seitliches Navigationsmenü aus AppNavItem-Einträgen. Elemente können auf interne Ansichten oder externe Ressourcen verlinken, unter übergeordneten Elementen verschachtelt werden, um hierarchische Menüs zu bilden, und Icons, Badges oder andere Komponenten tragen, um den Benutzern auf einen Blick mehr Kontext zu geben.
Hinzufügen und Verschachteln von Elementen
AppNavItem-Instanzen werden verwendet, um die AppNav-Struktur zu befüllen. Diese Elemente können einfache Links oder verschachtelte Gruppenüberschriften sein, die untergeordnete Elemente enthalten. Gruppenüberschriften ohne Links fungieren als erweiterbare Container.
Verwenden Sie addItem(), um Elemente in die Navigation einzufügen:
AppNavItem dashboard = new AppNavItem("Dashboard", "/dashboard");
AppNavItem admin = new AppNavItem("Admin");
admin.addItem(new AppNavItem("Users", "/admin/users"));
admin.addItem(new AppNavItem("Settings", "/admin/settings"));
AppNav nav = new AppNav();
nav.addItem(dashboard);
nav.addItem(admin);
Oberste Elemente in einem Navigationsbaum sollen typischerweise erweiterbar – nicht klickbare Links – sein. Das Setzen eines path auf solchen Elementen kann Benutzer verwirren, die erwarten, dass sie untergeordnete Elemente enthüllen, anstatt anderswohin zu navigieren.
Wenn Sie möchten, dass die Gruppenüberschrift eine benutzerdefinierte Aktion auslöst (z. B. das Öffnen externen Dokuments), lassen Sie den Gruppenpfad leer und fügen Sie stattdessen ein interaktives Steuerungselement wie einen IconButton zum Suffix des Elements hinzu. Dies hält die Benutzererfahrung konsistent und sauber.
Code anzeigen
- AppNavView.java
- AppNavPageView.java
Verlinken von Elementen
Jedes AppNavItem kann zu einer internen Ansicht oder einem externen Link navigieren. Sie können dies mit statischen Pfaden oder registrierten Sichtklassen definieren.
Statische Pfade
Verwenden Sie Zeichenfolgenpfade, um Links direkt zu definieren:
AppNavItem docs = new AppNavItem("Docs", "/docs");
AppNavItem help = new AppNavItem("Help", "https://support.example.com");
Registrierte Sichten
Wenn Ihre Sichten beim Router registriert sind, können Sie die Klasse anstelle einer hardcodierten URL übergeben:
AppNavItem settings = new AppNavItem("Settings", SettingsView.class);
Wenn Ihre annotierte Route Routenparameter unterstützt, können Sie auch einen ParametersBag übergeben:
ParametersBag params = ParametersBag.of("id=123");
AppNavItem advanced = new AppNavItem("User", UserView.class, params);
Mit Abfrageparametern
Übergeben Sie einen ParametersBag, um Abfragezeichenfolgen einzuschließen:
ParametersBag params = ParametersBag.of("param1=value1¶m2=value2");
AppNavItem advanced = new AppNavItem("Advanced", SettingsView.class, params);
advanced.setQueryParameters(params);
Zielverhalten
Steuern Sie, wie Links geöffnet werden, mit setTarget(). Dies ist besonders nützlich für externe Links oder Pop-out-Ansichten.
SELF(Standard): Öffnet in der aktuellen Ansicht.BLANK: Öffnet in einem neuen Tab oder Fenster.PARENT: Öffnet im übergeordneten Browsing-Kontext.TOP: Öffnet im übergeordneten Browsing-Kontext.
AppNavItem help = new AppNavItem("Help", "https://support.example.com");
help.setTarget(AppNavItem.NavigationTarget.BLANK);
Präfix und Suffix
AppNavItem unterstützt Präfix- und Suffixkomponenten. Verwenden Sie diese, um visuelle Klarheit mit Icons, Badges oder Schaltflächen zu bieten.
- Präfix: erscheint vor dem Label, nützlich für Icons.
- Suffix: erscheint nach dem Label, großartig für Badges oder Aktionen.
AppNavItem notifications = new AppNavItem("Alerts");
notifications.setPrefixComponent(TablerIcon.create("alert");
notifications.setSuffixComponent(TablerIcon.create("link"));
Automatisches Öffnen von Gruppen
Verwenden Sie setAutoOpen(true) an der AppNav-Komponente, um automatisch verschachtelte Gruppen zu erweitern, wenn die App aktualisiert wird.
nav.setAutoOpen(true);