ion-tab-bar
Contents
The tab bar is a UI component that contains a set of tab buttons. A tab bar must be provided inside of tabs to communicate with each tab.
#
Usage- Angular
- Javascript
- React
- Stencil
- Vue
<ion-tabs> <!-- Tab bar --> <ion-tab-bar slot="bottom"> <ion-tab-button tab="account"> <ion-icon name="person"></ion-icon> </ion-tab-button> <ion-tab-button tab="contact"> <ion-icon name="call"></ion-icon> </ion-tab-button> <ion-tab-button tab="settings"> <ion-icon name="settings"></ion-icon> </ion-tab-button> </ion-tab-bar></ion-tabs>
<ion-tabs> <!-- Tab views --> <ion-tab tab="account"></ion-tab> <ion-tab tab="contact"></ion-tab> <ion-tab tab="settings"></ion-tab>
<!-- Tab bar --> <ion-tab-bar slot="bottom"> <ion-tab-button tab="account"> <ion-icon name="person"></ion-icon> </ion-tab-button> <ion-tab-button tab="contact"> <ion-icon name="call"></ion-icon> </ion-tab-button> <ion-tab-button tab="settings"> <ion-icon name="settings"></ion-icon> </ion-tab-button> </ion-tab-bar></ion-tabs>
import React from 'react';import { IonTabs, IonTabBar, IonTabButton, IonIcon, IonContent } from '@ionic/react';import { call, person, settings } from 'ionicons/icons';
export const TabBarExample: React.FC = () => ( <IonContent> <IonTabs> {/*-- Tab bar --*/} <IonTabBar slot="bottom"> <IonTabButton tab="account"> <IonIcon icon={person} /> </IonTabButton> <IonTabButton tab="contact"> <IonIcon icon={call} /> </IonTabButton> <IonTabButton tab="settings"> <IonIcon icon={settings} /> </IonTabButton> </IonTabBar> </IonTabs> </IonContent>);
import { Component, h } from '@stencil/core';
@Component({ tag: 'tab-bar-example', styleUrl: 'tab-bar-example.css'})export class TabBarExample { render() { return [ <ion-tabs> {/* Tab views */} <ion-tab tab="account" component="page-account"></ion-tab> <ion-tab tab="contact" component="page-contact"></ion-tab> <ion-tab tab="settings" component="page-settings"></ion-tab>
{/* Tab bar */} <ion-tab-bar slot="bottom"> <ion-tab-button tab="account"> <ion-icon name="person"></ion-icon> </ion-tab-button> <ion-tab-button tab="contact"> <ion-icon name="call"></ion-icon> </ion-tab-button> <ion-tab-button tab="settings"> <ion-icon name="settings"></ion-icon> </ion-tab-button> </ion-tab-bar> </ion-tabs> ]; }}
<template> <ion-tabs> <!-- Tab bar --> <ion-tab-bar slot="bottom"> <ion-tab-button tab="account"> <ion-icon :icon="person"></ion-icon> </ion-tab-button> <ion-tab-button tab="contact"> <ion-icon :icon="call"></ion-icon> </ion-tab-button> <ion-tab-button tab="settings"> <ion-icon :icon="settings"></ion-icon> </ion-tab-button> </ion-tab-bar> </ion-tabs></template>
<script>import { IonIcon, IonTabBar, IonTabButton, IonTabs } from '@ionic/vue';import { call, person, settings } from 'ionicons/icons';import { defineComponent } from 'vue';
export default defineComponent({ components: { IonIcon, IonTabBar, IonTabButton, IonTabs }, setup() { return { call, person, settings } }});</script>
#
Properties#
colorDescription | The color to use from your application's color palette. Default options are: "primary" , "secondary" , "tertiary" , "success" , "warning" , "danger" , "light" , "medium" , and "dark" .For more information on colors, see theming. |
Attribute | color |
Type | string ๏ฝ undefined |
Default | undefined |
#
modeDescription | The mode determines which platform styles to use. |
Attribute | mode |
Type | "ios" ๏ฝ "md" |
Default | undefined |
#
selectedTabDescription | The selected tab component |
Attribute | selected-tab |
Type | string ๏ฝ undefined |
Default | undefined |
#
translucentDescription | If true , the tab bar will be translucent.Only applies when the mode is "ios" and the device supportsbackdrop-filter . |
Attribute | translucent |
Type | boolean |
Default | false |
#
CSS Custom PropertiesName | Description |
---|---|
--background | Background of the tab bar |
--border | Border of the tab bar |
--color | Color of the tab bar |