ion-segment
セグメントは、セグメントコントロールとも呼ばれる、関連するボタンのグループを水平方向の行に表示します。ツールバーまたはメインコンテンツ内に表示できます。
その機能はタブに似ており、1つを選択すると他のすべてが選択解除されます。セグメントは、コンテンツ内の異なるビューを切り替えるのに役立ちます。コントロールのクリックでページ間を移動する必要がある場合は、セグメントの代わりにタブを使用する必要があります。
基本的な使用方法
セグメントは、各ボタンにvalue
プロパティを持つセグメントボタンで構成されています。ボタンを選択するには、セグメントのvalue
プロパティをボタンの値と一致するように設定します。セグメントは、ユーザーが操作できないように無効にすることもできます。
スクロール可能なセグメント
セグメントはデフォルトではスクロールできません。各セグメントボタンには固定幅があり、その幅はセグメントボタンの数を画面幅で割ることで決定されます。これにより、スクロールせずに各セグメントボタンを画面に表示できます。その結果、ラベルが長いセグメントボタンの一部が切り取られる可能性があります。これを回避するには、短いラベルを使用するか、scrollable
プロパティをtrue
に設定してスクロール可能なセグメントに切り替えることをお勧めします。これにより、セグメントは水平方向にスクロールしますが、各セグメントボタンは可変幅を持つことができます。
ツールバー内のセグメント
スワイプ可能なセグメント
各セグメントボタンは、セグメントがアクティブなときに表示されるセグメントコンテンツ要素に関連付けることができます。このアプローチでは、各セグメントのコンテンツをスワイプまたはスクロールで切り替えることができ、セグメントは現在表示されているコンテンツを反映するように更新されます。
スワイプ可能なセグメントを使用する場合、ion-segment
に初期のvalue
が割り当てられていないと、セグメントは最初のセグメントボタンの値にデフォルト設定されます。
スワイプ可能なセグメントで使用する場合、セグメントボタンを無効にすることはできません。
テーマ
色
CSSカスタムプロパティ
アクセシビリティ
キーボード操作
このコンポーネントは、ion-segment-button
要素間を移動して選択するための完全なキーボードサポートを備えています。デフォルトでは、キーボードナビゲーションはion-segment-button
要素のみにフォーカスされますが、selectOnFocus
プロパティを使用して、フォーカス時に選択されるようにすることもできます。次の表は、各キーの機能の詳細を示しています。
キー | 説明 |
---|---|
右矢印 | 次のフォーカス可能な要素にフォーカスします。 |
左矢印 | 前のフォーカス可能な要素にフォーカスします。 |
Home | 最初のフォーカス可能な要素にフォーカスします。 |
End | 最後のフォーカス可能な要素にフォーカスします。 |
SpaceまたはEnter | 現在フォーカスされている要素を選択します。 |
インターフェース
SegmentChangeEventDetail
interface SegmentChangeEventDetail {
value?: string;
}
SegmentCustomEvent
必須ではありませんが、このインターフェースはCustomEvent
インターフェースの代わりに使用して、このコンポーネントから発行されるIonicイベントの型付けを強化できます。
interface SegmentCustomEvent extends CustomEvent {
target: HTMLIonSegmentElement;
detail: SegmentChangeEventDetail;
}
プロパティ
color
説明 | アプリケーションの色パレットから使用する色。デフォルトのオプションは、"primary" 、"secondary" 、"tertiary" 、"success" 、"warning" 、"danger" 、"light" 、"medium" 、"dark" です。色の詳細については、テーマ設定を参照してください。 |
属性 | color |
型 | "danger"|"dark"|"light"|"medium"|"primary"|"secondary"|"success"|"tertiary"|"warning"|文字列|未定義 |
デフォルト | 未定義 |
disabled
説明 | true の場合、ユーザーはセグメントを操作できません。 |
属性 | disabled |
型 | ブール値 |
デフォルト | false |
mode
説明 | モードは、使用するプラットフォームスタイルを決定します。 |
属性 | mode |
型 | "ios"|"md" |
デフォルト | 未定義 |
scrollable
説明 | true の場合、セグメントボタンはオーバーフローし、ユーザーはスワイプしてそれらを見ることができます。さらに、隠されたボタンを表示するためにスワイプするために、ボタン間のインジケーターをドラッグするジェスチャーが無効になります。 |
属性 | scrollable |
型 | ブール値 |
デフォルト | false |
selectOnFocus
説明 | true の場合、キーボードでion-segment-button に移動すると、要素にフォーカスされ、選択されます。false の場合、キーボードナビゲーションはion-segment-button 要素のみにフォーカスされます。 |
属性 | select-on-focus |
型 | ブール値 |
デフォルト | false |
swipeGesture
説明 | true の場合、ユーザーはセグメントボタン間をスワイプしてアクティブ化できます。 |
属性 | swipe-gesture |
型 | ブール値 |
デフォルト | true |
value
説明 | セグメントの値。 |
属性 | value |
型 | 数値|文字列|未定義 |
デフォルト | 未定義 |
イベント
名前 | 説明 | バブル |
---|---|---|
ionChange | ion-segment からドラッグポインタが解放され、valueプロパティが変更されたときに発生します。このイベントは、 value プロパティをプログラムで設定した場合には発生しません。 | true |
メソッド
このコンポーネントで使用できる公開メソッドはありません。
CSSシャドウパーツ
このコンポーネントで使用できるCSSシャドウパーツはありません。
CSSカスタムプロパティ
- iOS
- MD
名前 | 説明 |
---|---|
--background | セグメントボタンの背景 |
名前 | 説明 |
---|---|
--background | セグメントボタンの背景 |
スロット
このコンポーネントで使用できるスロットはありません。