ons-tabbar

A component to display a tab bar on the bottom of a page. Used with <ons-tab> to manage pages using tabs.

Tutorial

See also

Attributes

Name Type Default Value Description
animation String
none
If this attribute is set to "none" the transitions will not be animated. Optional.
animation-options Expression Specify the animation’s duration, timing and delay with an object literal. E.g. {duration: 0.2, delay: 1, timing: 'ease-in'}. Optional.
position String
bottom
Tabbar’s position. Available values are "bottom" and "top". Use "auto" to choose position depending on platform (iOS bottom, Android top). Optional. Works only during initialization.
swipeable If this attribute is set the tab bar can be scrolled by drag or swipe. Optional.
ignore-edge-width Number
20
Distance in pixels from both edges. Swiping on these areas will prioritize parent components such as ons-splitter or ons-navigator. Optional.
hide-tabs Whether to hide the tabs. Optional.
tab-border If this attribute is set the tabs show a dynamic bottom border. Only works for iOS since the border is always visible in Material Design. Optional.
modifier String The appearance of the tabbar. Optional.

Properties

Name Description
visible Whether the tabbar is visible or not.
swipeable Enable swipe interaction.
onSwipe Hook called whenever the user slides the tabbar. It gets a decimal index and an animationOptions object as arguments.

Preset Modifiers

Name Description
material A tabbar in Material Design.
autogrow Tabs automatically grow depending on their content instead of having a fixed width.
top-border Shows a static border-bottom in tabs for iOS top tabbars.

Methods Summary

Signature Description
setActiveTab(index, [options]) Show specified tab page. Animations and their options can be specified by the second parameter.
setTabbarVisibility(visible) Used to hide or show the tab bar.
getActiveTabIndex() Returns tab index on current active tab. If active tab is not found, returns -1.

Events Summary

Name Description
prechange Fires just before the tab is changed.
postchange Fires just after the tab is changed.
reactive Fires if the already open tab is tapped again.

Methods

setActiveTab(index, [options]): Promise

Show specified tab page. Animations and their options can be specified by the second parameter.

Returns: A promise that resolves to the new page element.

Parameters
Name Type Description
index Number Tab index.
options Object Parameter object.
options.callback Function Function that runs when the new page has loaded.
options.animation String If this option is “none”, the transition won’t slide.
options.animationOptions String Specify the animation’s duration, delay and timing. E.g. {duration: 0.2, delay: 0.4, timing: 'ease-in'}.

setTabbarVisibility(visible)

Used to hide or show the tab bar.

Parameters
Name Type Description
visible Boolean

getActiveTabIndex(): Number

Returns tab index on current active tab. If active tab is not found, returns -1.

Returns: The index of the currently active tab.

Events

prechange

Fires just before the tab is changed.

Parameters
Name Type Description
event Object Event object.
event.index Number Current index.
event.tabItem Object Tab item object.
event.cancel Function Call this function to cancel the change event.

postchange

Fires just after the tab is changed.

Parameters
Name Type Description
event Object Event object.
event.index Number Current index.
event.tabItem Object Tab item object.

reactive

Fires if the already open tab is tapped again.

Parameters
Name Type Description
event Object Event object.
event.index Number Current index.
event.tabItem Object Tab item object.

Discussion

Need Help?

If you have any questions, use our Community Forum or talk to us via Gitter chat. The Onsen UI team and your peers in the community will work together to help solve your issues.

For bug reports and feature requests use our GitHub Issues page.