The Navigation component for Retool Apps
A primary navigation menu with nested items to trigger actions.
Navigation supports both horizontal and vertical orientation, and can include an image to display a logo next to menu items.
The component supports linking an item directly to other apps or pages. Doing so will automatically highlight the item (or its parent) when currently viewing its linked app, and hide it for any users who do not have access to its linked app.
Properties
All properties for this object with supported data types or values. You can write JavaScript almost anywhere in Retool to manipulate or read property values.
altText
An accessible description for screen readers.
Type | string | ||||
Format | Plain Text | ||||
Mutability |
|
Examples
"Retool logo."
appTargetByIndex
A list of app IDs, by index, for each item.
Type | array |
Array values | number |
Mutability | Read-only |
captionByIndex
A list of captions for each item, by index.
Type | array |
Format | Plain Text |
Array values | string |
Mutability | Read-only |
Default |
|
Examples
["Caption 1", "Caption 2"]
data
The data.
Type | string | number | boolean | object | array | ||||||
Format | Custom data | ||||||
Mutability |
|
dbBlobId
Self-hosted Retool deployments only. The ID of the uploaded image when srcType
is dbBlobId
.
Type | string |
Mutability | Read-only |
disabled
Whether input, interaction, selection, or triggering is disabled.
Type | boolean | ||||||
Format | True/False | ||||||
Mutability |
| ||||||
Default |
|
Examples
true
disabledByIndex
A list of values for each item, by index, that reflect whether they are disabled.
Type | array |
Array values | boolean |
Mutability | Read-only |
Default |
|
Examples
[true, false, true]
events
A list of configured event handlers that trigger actions or queries.
Type | array | ||||
Array values | object | ||||
Mutability |
|
Array Object Properties
event
The event that triggers the action. Refer to the events section for details of available events for this object.
Type | string | ||||
Mutability |
|
method
The JavaScript method to perform when type
is datasource
, widget
, state
, or localStorage
.
Type | string | ||||
Mutability |
|
type
The type of action to perform.
Type | string | ||||||||||||||
Mutability |
| ||||||||||||||
Allowed Values |
|
heightType
Whether the height automatically adjusts to fit content or is a fixed size.
Type | string | ||||||
Format | Plain Text | ||||||
Mutability |
| ||||||
Allowed Values |
| ||||||
Default |
|
hiddenByIndex
A list of items, by index, and whether they are hidden.
Type | array |
Array values | boolean |
Mutability | Read-only |
Default |
|
Examples
[true, false, true]
highlightByIndex
A list of items, by index, and whether they are highlighted.
Type | array |
Array values | boolean |
Mutability | Read-only |
horizontalAlignment
The horizontal alignment of the contents.
Type | string | ||||||||||
Mutability |
| ||||||||||
Allowed Values |
|
iconByIndex
A list of icons for each item, by index.
Type | array |
Array values | string |
Mutability | Read-only |
Default |
|
Examples
["/icon:bold/shopping-gift", "/icon:bold/interface-user-single", "/icon:bold/interface-align-layers-1"]
id
The unique identifier (name).
Type | string | ||||
Format | Plain Text | ||||
Mutability |
| ||||
Default |
|
Examples
query1
button1
isHiddenOnDesktop
Whether to show or hide this object in the desktop layout.
Type | boolean | ||||
Format | True/False | ||||
Mutability |
| ||||
Default |
|
Examples
true
isHiddenOnMobile
Whether to show or hide this object in the mobile layout.
Type | boolean | ||||
Format | True/False | ||||
Mutability |
| ||||
Default |
|
Examples
true
itemMode
The configuration mode for options.
Type | string | |||||||||
Mutability |
| |||||||||
Allowed Values |
| |||||||||
Default |
|
Examples
"dynamic"
maintainSpaceWhenHidden
Whether to take up space on the canvas if hidden
is true
.
Type | boolean | ||||
Format | True/False | ||||
Mutability |
| ||||
Default |
|
Examples
true
margin
The amount of margin to render outside.
Type | string | |||||||||
Format | Plain Text | |||||||||
Mutability |
| |||||||||
Allowed Values |
| |||||||||
Default |
|
Examples
4px 8px
retoolFileObject
The file's data when using a file not stored in Retool Storage.
Type | object |
Mutability | Read-only |
retoolStorageDynamicInput
Whether retoolStorageFileId
is set dynamically.
Type | string |
Mutability | Read-only |
retoolStorageFileId
The Retool Storage file ID if srcType
is retoolStorageFileId
.
Type | string | ||||
Mutability |
|
retoolStorageShowLegacyFiles
Whether to show legacy files in the file picker.
Type | boolean | ||||
Mutability |
|
screenTargetByIndex
A list of screen targets, by index.
Type | array |
Array values | string |
Mutability | Read-only |
showInEditor
Whether the component remains visible in the editor if hidden
is true
.
Type | boolean | ||||
Format | True/False | ||||
Mutability |
| ||||
Default |
|
Examples
true
srcType
The source type.
Type | string | ||||||||||||
Mutability |
| ||||||||||||
Allowed Values |
|
storageBlobId
The ID of the uploaded image when srcType
is storageBlobId
.
Type | string |
Format | Blob URI |
Mutability | Read-only |
style
Custom style options.
Type | object | ||||
Mutability |
|
tooltipText
The tooltip text to display next to the label on hover.
Type | string | ||||
Format | Markdown | ||||
Mutability |
| ||||
Default |
|
Examples
Submit
Methods
JavaScript API methods for this object. You can write JavaScript almost anywhere in Retool and use methods to manipulate data and property values.
navigation.scrollIntoView()
Scrolls the canvas or parent container so that the selected component appears in the visible area.
navigation.scrollIntoView(options)
Parameters
Object Properties
behavior
The scroll behavior.
Type | string | ||||||
Allowed Values |
|
block
The scroll position relative to the component.
Type | string | ||||||||||
Allowed Values |
|
Examples
Scroll the minimum amount to immediately bring navigation
into view.
navigation.scrollIntoView({behavior: 'auto', block: 'nearest'});
navigation.setDisabled()
Set the disabled
value to toggle whether the input field is disabled. Defaults to true
without a parameter.
navigation.setDisabled(disabled)
Parameters
disabled
Whether input, interaction, selection, or triggering is disabled.
Type | boolean |
Format | True/False |
Default |
|
Examples
true
Examples
Disable navigation
.
navigation.setDisabled(true);
Enable navigation
.
navigation.setDisabled(false);
navigation.setHidden()
Set the hidden
value to toggle whether the component is visible. Defaults to true
without a parameter.
navigation.setHidden(hidden)
Parameters
Examples
true
Examples
Hide navigation
.
navigation.setHidden(true);
Unhide navigation
.
navigation.setHidden(false);
Events
Events triggered by user interactions. You can configure event handlers in the IDE to trigger queries or other actions in response to events.
Event | Description |
---|---|
Click | An item is clicked or pressed. |
Logo Click | The logo is clicked or pressed. |