Select Option

jui-select-option は、jui-select のスロット内で使用し、オプションの項目を宣言的に定義するためのコンポーネントです。

Basic

jui-select コンポーネントの子要素として配置して使用します。

🍎 りんご 🍌 バナナ 🍒 さくらんぼ (品切れ) 🍇 ぶどう

関連コンポーネント

  • Select — カスタムドロップダウンセレクトコンポーネント

ブラウザ対応

このコンポーネントが使用しているブラウザ機能と対応状況です。

機能用途ChromeFirefoxSafariステータス
:hostShadow DOM ルート要素のスタイル制御53+63+10+Baseline 2020
::slotted()スロットされたオプション名・アイコン等のスタイル制御53+63+10+Baseline 2020
CSS 変数 (var())デザイントークン(ハイライト背景、文字サイズ、色等)適用49+31+9.1+Baseline 2017

💡 いずれの機能も主要ブラウザで広く対応済みです。

Baseline 情報

機能Baseline 達成Widely Available 予定
:host2020年2022年後半 ✅
::slotted()2020年2022年後半 ✅
CSS 変数2017年2020年前半 ✅

アクセシビリティ

  • WAI-ARIA:
    • 親の jui-select 内のリストボックスと連動し、自身は role="option" としてマークアップされます。
    • 自身が選択されている状態である場合、親から aria-selected="true" が付加されます。
    • disabled が有効な場合は、aria-disabled="true" が自動的に設定されます。
  • キーボードナビゲーション:
    • jui-select が開いている際、ArrowDown / ArrowUp キーによる選択肢の移動でハイライト状態(highlighted)が変わり、Enter キーでその項目を決定することができます。

CSS カスタムプロパティ

このコンポーネント固有のカスタムプロパティはありません。グローバルのデザイントークンを参照してスタイルが適用されます。

プロパティ

コンポーネントが受け付ける属性(Props)の一覧と詳細仕様です。

PropertyAttributeDescriptionTypeDefault
disableddisabled無効状態booleanfalse
highlightedhighlightedハイライト状態(親の jui-select から制御されます)booleanfalse
indexindexインデックス(親の jui-select から注入されます)number | undefinedundefined
labellabelラベルテキスト。指定がなければスロットのテキストを使用します。 (JuiSelect が選択値を表示する際に使われます)string | undefinedundefined
selectedselected選択状態(親の jui-select から制御されます)booleanfalse
value (required)valueオプションの値stringundefined

イベント

コンポーネントから発火するカスタムイベントの一覧です。

EventDescriptionType
juiSelectOptionClickクリックされたときに親に通知するイベントCustomEvent<{ value: string; label: string; index?: number | undefined; }>
juiSelectOptionHoverマウスホバーされたときに親に通知するイベントCustomEvent<{ value: string; index?: number | undefined; }>

スロット

コンポーネント内に子要素を挿入するためのスロット一覧です。

SlotDescription
表示ラベル(label / value Prop より優先)

シャドウパーツ

CSSから直接スタイリング可能な内部要素(Parts)の一覧です。

PartDescription
"check"選択時のチェックマーク
"option"オプションの外枠

Built with StencilJS