Navigation Menu¶
- marimo.nav_menu(menu: dict[str, typing.Union[typing.Mapping[str, typing.Union[typing.Mapping[str, ForwardRef('JSONType')], typing.Sequence[ForwardRef('JSONType')], str, int, float, bool, marimo._output.mime.MIME, NoneType]], typing.Sequence[typing.Union[typing.Mapping[str, ForwardRef('JSONType')], typing.Sequence[ForwardRef('JSONType')], str, int, float, bool, marimo._output.mime.MIME, NoneType]], str, int, float, bool, marimo._output.mime.MIME, NoneType]], *, orientation: Literal['horizontal', 'vertical'] = 'horizontal') → Html¶
Navigation menu component.
This is useful for creating a navigation menu with hyperlinks, most used when creating multi-page applications, with
marimo.create_asgi_app
(docs).Examples.
nav_menu = mo.nav_menu( { "/overview": "Overview", "/sales": f"{mo.icon('lucide:shopping-cart')} Sales", "/products": f"{mo.icon('lucide:package')} Products", } )
You can also nest dictionaries to create submenus¶
nav_menu = mo.nav_menu( { "/overview": "Overview", "Sales": { "/sales": "Overview", "/sales/invoices": { "label": "Invoices", "description": "View invoices", }, "/sales/customers": { "label": "Customers", "description": "View customers", }, }, } )
Args.
menu
: a dictionary of tab names to tab content; the content can also be nested dictionaries (one level deep) strings are interpreted as markdown
Returns.
An
Html
object.