Skip to main content
Version: v7

ion-menu

shadow

メニューコンポーネントは、現在のビューの横からスライドしてくるナビゲーションドロワーです。デフォルトでは、開始側を使用し、LTRの場合は左から、RTLの場合は右からスライドさせますが、サイドをオーバーライドすることができます。メニューの表示はモードによって異なりますが、表示タイプは利用可能なメニュータイプのいずれかに変更することができます。

メニュー要素はルートコンテンツ要素の兄弟要素でなければなりません。コンテンツにはいくつでもメニューを付けることができる。これらのメニューはテンプレートから制御するか、MenuControllerを使用してプログラムで制御することができます。

基本的な使い方

menu toggle コンポーネントを使用して、メニューを開いたり閉じたりするカスタムボタンを作成することができます。

typeプロパティは、アプリケーションでのメニューの表示方法をカスタマイズするために使用することができます。

Menus are displayed on the "start" side by default. In apps that use left-to-right direction, this is the left side, and in right-to-left apps, this will be the right side. Menus can also be set to display on the "end" side, which is the opposite of "start".

If menus on both sides are needed in an app, the menu can be opened by passing the side value to the open method on MenuController. If a side is not provided, the menu on the "start" side will be opened. See the multiple menus section below for an example using MenuController.

Multiple Menus

When multiple menus exist on the same side, we need to enable the menu that we want to open before it can be opened. This can be done by calling the enable method on the MenuController. We can then call open on a menu based on its menuId or side.

Theming

CSS Shadow Parts

Interfaces

必須ではありませんが、このコンポーネントから発行される Ionic イベントでより強く型付けを行うために、CustomEvent インターフェースの代わりにこのインターフェースを使用することが可能です。

interface MenuCustomEvent<T = any> extends CustomEvent {
detail: T;
target: HTMLIonMenuElement;
}

プロパティ

contentId

Descriptionメインコンテンツの id です。ルータを使用する場合は、通常 ion-router-outlet となります。ルータを使用しない場合は、通常、メインビューの ion-content となります。これは ion-menu 内の ion-content の ID ではありません。
Attributecontent-id
Typestring | undefined
Defaultundefined

disabled

Descriptiontrueの場合、メニューは無効化される。
Attributedisabled
Typeboolean
Defaultfalse

maxEdgeStart

Descriptionドラッグでメニューを開く際のエッジのしきい値です。この値を超えてドラッグ/スワイプが行われた場合、メニューはトリガーされない。
Attributemax-edge-start
Typenumber
Default50
DescriptionメニューのIDです。
Attributemenu-id
Typestring | undefined
Defaultundefined

side

Descriptionメニューがビューのどの側に配置されるべきか。
Attributeside
Type"end" | "start"
Default'start'

swipeGesture

Descriptiontrueの場合、スワイプによるメニュー操作が有効になる。
Attributeswipe-gesture
Typeboolean
Defaulttrue

type

Descriptionメニューの表示形式を指定します。利用可能なオプション。overlay", "reveal", "push"`.
Attributetype
Typestring | undefined
Defaultundefined

イベント

NameDescription
ionDidCloseメニューが閉じられたときに発行されます。
ionDidOpenメニューが開いているときに発行されます。
ionWillCloseメニューが閉じられようとするときに発行されます。
ionWillOpenメニューが開かれようとするときに発行されます。

メソッド

close

Descriptionメニューを閉じる。メニューが既に閉じられていたり、閉じることができない場合は、falseを返します。
Signatureclose(animated?: boolean) => Promise<boolean>

isActive

Descriptionメニューがアクティブであれば true を返します。 メニューがアクティブな状態とは、メニューを開いたり閉じたりできる状態、つまり有効な状態であり、ion-split-paneの一部でない状態であることを意味します。
SignatureisActive() => Promise<boolean>

isOpen

Descriptionメニューが開いている場合は true を返します。
SignatureisOpen() => Promise<boolean>

open

Descriptionメニューを開く。メニューが既に開いているか、開くことができない場合は、falseを返します。
Signatureopen(animated?: boolean) => Promise<boolean>

setOpen

Descriptionボタンを開いたり閉じたりします。操作が正常に完了しない場合は false を返します。
SignaturesetOpen(shouldOpen: boolean, animated?: boolean) => Promise<boolean>

toggle

Descriptionメニューを切り替えます。メニューが既に開かれている場合は閉じようとし、そうでない場合は開こうとします。操作が正常に完了しない場合は、falseを返します。
Signaturetoggle(animated?: boolean) => Promise<boolean>

CSS Shadow Parts

NameDescription
backdropメニューを開いているときに、メインコンテンツの上に表示される背景です。
containerメニューの内容を格納するコンテナです。

CSSカスタムプロパティ

NameDescription
--backgroundメニューの背景
--heightメニューの高さ
--max-heightメニューの最大の高さ
--max-widthメニューの最大幅
--min-heightメニューの高さの最小値
--min-widthメニューの最小幅
--widthメニューの幅

Slots

No slots available for this component.