Skip to main content

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
ControlUsage
Retool UI Inspector
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
ControlUsage
Retool UI Inspector
MethodcopyToClipboard()

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
ControlUsage
Retool UI Inspector > Interaction > Disabled
MethodsetDisabled()
Default
false
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
ControlUsage
Retool UI Inspector > Interaction > Event handlers
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
ControlUsage
Retool UI Inspector > Interaction > Event handlers > Event

method

The JavaScript method to perform when type is datasource, widget, state, or localStorage.

Type string
Mutability
ControlUsage
Retool UI Inspector > Interaction > Event handlers > Edit event handler > Run script actions

type

The type of action to perform.

Type string
Mutability
ControlUsage
Retool UI Inspector > Interaction > Event handlers > Edit event handler > Action
Allowed Values
ValueDescription
datasource

Control query.

widget

Control component.

script

Run script.

state

Set variable.

localStorage

Set localStorage.

util

Perform utility action (e.g., Open URL or Confetti).



heightType

Whether the height automatically adjusts to fit content or is a fixed size.

Type string
Format Plain Text
Mutability
ControlUsage
Retool UI Inspector > Spacing > Height
Allowed Values
ValueDescription
fixed

Fixed height.

auto

Expand to fit content.

Default
fixed

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
ControlUsage
Retool UI Inspector
Allowed Values
ValueDescription
left

Left alignment.

center

Center alignment.

right

Right alignment.

justify

Justified alignment


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
ControlUsage
Retool UI Inspector
Default
navigation1
Examples
query1
button1

isHiddenOnDesktop

Whether to show or hide this object in the desktop layout.

Type boolean
Format True/False
Mutability
ControlUsage
Retool UI Inspector > Appearance > Advanced > Show on desktop
Default
false
Examples
true

isHiddenOnMobile

Whether to show or hide this object in the mobile layout.

Type boolean
Format True/False
Mutability
ControlUsage
Retool UI Inspector > Appearance > Advanced > Show on mobile
Default
true
Examples
true

itemMode

The configuration mode for options.

Type string
Mutability
ControlUsage
Retool UI Inspector > Content > Options
Allowed Values
ValueUI OptionDescription
dynamicMapped

Options dynamically mapped from an array.

staticManual

Options manually configured in the IDE.

Default
dynamic
Examples
"dynamic"

maintainSpaceWhenHidden

Whether to take up space on the canvas if hidden is true.

Type boolean
Format True/False
Mutability
ControlUsage
Retool UI Inspector > Appearance > Advanced > Maintain space when hidden
Default
false
Examples
true

margin

The amount of margin to render outside.

Type string
Format Plain Text
Mutability
ControlUsage
Retool UI Inspector > Spacing > Margin
Allowed Values
ValueUI OptionDescription
4px 8pxNormal

Normal margin.

0None

No margin.

Default
4px 8px
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
ControlUsage
Retool UI Inspector

retoolStorageShowLegacyFiles

Whether to show legacy files in the file picker.

Type boolean
Mutability
ControlUsage
Retool UI Inspector

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
ControlUsage
Retool UI Inspector > Appearance > Advanced > Always show in edit mode
Default
false
Examples
true

src

The data source.

Type string
Mutability
ControlUsage
Retool UI Inspector
MethodsetFileUrl()

srcHeight

The height.

Type number
Mutability
ControlUsage
Retool UI Inspector

srcType

The source type.

Type string
Mutability
ControlUsage
Retool UI Inspector
Allowed Values
ValueDescription
src

URL.

retoolStorageFileId

Retool Storage file.

retoolFileObject

Retool file object.

dbBlobId

Database blob.

storageBlobId

Storage blob.


srcWidth

The width of the image.

Type number
Mutability
ControlUsage
Retool UI Inspector

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
ControlUsage
Retool UI Inspector > Appearance > style

tooltipText

The tooltip text to display next to the label on hover.

Type string
Format Markdown
Mutability
ControlUsage
Retool UI Inspector > Content > Add-ons > Helper text
Default
null
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.

Definition
navigation.scrollIntoView(options)
Parameters

options

The scroll options.

Type object
Object Properties

behavior

The scroll behavior.

Type string
Allowed Values
ValueDescription
auto

Scroll immediately to the specified position.

smooth

Scroll gradually to the specified position.


block

The scroll position relative to the component.

Type string
Allowed Values
ValueDescription
nearest

Scrolls only the minimum amount required for the component to appear in the visible area. Scrolling does not occur if the component is already in view.

start

Scrolls to position the component at the top of the visible area.

center

Scrolls to position the component in the middle of the visible area.

end

Scrolls to position the component at the bottom of the visible area.



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.

Definition
navigation.setDisabled(disabled)
Parameters

disabled

Whether input, interaction, selection, or triggering is disabled.

Type boolean
Format True/False
Default
false
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.

Definition
navigation.setHidden(hidden)
Parameters

hidden

Whether this object is hidden from view.

Type boolean
Format True/False
Default
false
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.

EventDescription
ClickAn item is clicked or pressed.
Logo ClickThe logo is clicked or pressed.