ion-tabs
タブは、タブベースのナビゲーションを実装するためのトップレベルナビゲーションコンポーネントです。このコンポーネントは、個々の<a href="/docs/api/tab">Tab</a>コンポーネントのコンテナです。
ion-tabs
コンポーネントにはスタイルがなく、ナビゲーションを処理するためのラウターアウトレットとして機能します。タブを切り替えるためのUIフィードバックやメカニズムは提供していません。そのためには、ion-tabs
の直接の子要素としてion-tab-bar
を提供する必要があります。
ion-tabs
とion-tab-bar
はどちらもスタンドアロン要素として使用できます。互いに依存することなく動作しますが、通常はネイティブアプリのように動作するタブベースのナビゲーションを実装するために一緒に使用されます。
ion-tab-bar
は、ion-tabs
コンポーネントの適切な場所に投影されるように、スロットを定義する必要があります。
基本的な使い方
タブを使用すると、URLを変更することなく異なるコンテンツを表示できます。これは、タブがナビゲーションではなく、異なるコンテンツを表示するために使用される場合に便利です。
ルータとの併用
タブは、Ionicルータと組み合わせてタブベースのナビゲーションを実装するために使用できます。タブバーとアクティブなタブは、URLに基づいて自動的に解決されます。これは、タブナビゲーションの最も一般的なパターンです。
インターフェース
TabsCustomEvent
必須ではありませんが、このインターフェースは、このコンポーネントから発行されるIonicイベントの型付けを強化するために、CustomEvent
インターフェースの代わりに使用できます。
interface TabsCustomEvent extends CustomEvent {
detail: { tab: string };
target: HTMLIonTabsElement;
}
プロパティ
このコンポーネントで使用可能なプロパティはありません。
イベント
名前 | 説明 | バブル |
---|---|---|
ionTabsDidChange | ナビゲーションが新しいコンポーネントへの遷移を完了したときに発行されます。 | false |
ionTabsWillChange | ナビゲーションが新しいコンポーネントに遷移しようとしているときに発行されます。 | false |
メソッド
getSelected
説明 | 現在選択されているタブを取得します。このメソッドは、バニラJavaScriptプロジェクトでのみ使用できます。Angular、React、Vueのタブ実装は、各フレームワークのルータに結合されています。 |
シグネチャ | getSelected() => Promise<string | undefined> |
getTab
説明 | tab プロパティの値または要素参照によって特定のタブを取得します。このメソッドは、バニラJavaScriptプロジェクトでのみ使用できます。Angular、React、Vueのタブ実装は、各フレームワークのルータに結合されています。 |
シグネチャ | getTab(tab: string | HTMLIonTabElement) => Promise<HTMLIonTabElement | undefined> |
select
説明 | tab プロパティの値または要素参照によってタブを選択します。このメソッドは、バニラJavaScriptプロジェクトでのみ使用できます。Angular、React、Vueのタブ実装は、各フレームワークのルータに結合されています。 |
シグネチャ | select(tab: string | HTMLIonTabElement) => Promise<boolean> |
CSSシャドウパーツ
このコンポーネントで使用可能なCSSシャドウパーツはありません。
CSSカスタムプロパティ
このコンポーネントで使用可能なCSSカスタムプロパティはありません。
スロット
名前 | 説明 |
---|---|
`` | スロットが指定されていない場合、コンテンツは名前付きスロットの間に配置されます。 |
bottom | コンテンツは画面の下部に配置されます。 |
top | コンテンツは画面の上部に配置されます。 |