Accordion
一度に 1 つまたは複数のセクションを展開できる開閉項目を積み重ねます。
一度に 1 つまたは複数のセクションを展開できる開閉項目を積み重ねます。
主なプロパティ
| プロパティ | 説明 |
|---|---|
| 選択 | value で制御、または defaultValue で非制御 |
| 展開 | 既定は単一展開。multiple で複数の項目を同時に開けます |
| 利用可否 | 個別の TRAccordionItem を無効にできます |
| ライフサイクル | 閉じたコンテンツはウィジェットツリーから取り除かれます |
value を指定した場合は、操作に応じてパネルが変わるよう onValueChange から値を更新してください。Tab は通常のフォーカス順序に従い、Enter はすぐに、Space はキーを離したときに切り替えます。無効な項目はポインターとキーボードの操作を無視します。
インストール
パッケージを追加し、公開ライブラリをインポートしてください。
flutter pub add tinyrack_uiimport 'package:tinyrack_ui/tinyrack_ui.dart';プレイグラウンド
使用方法
import 'package:material_ui/material_ui.dart';
import 'package:tinyrack_ui/tinyrack_ui.dart';
TRAccordion(
items: const [
TRAccordionItem(
value: 'install',
trigger: Text('Install'),
content: Text('Run the installer.'),
),
],
)例
制御付き複数展開 パーマリンク
onValueChange から value を更新すると、各セクションを開閉でき、現在の選択も表示できます。
単一・複数展開と無効状態 パーマリンク
排他的なセクションには既定の単一展開、独立したセクションには multiple、利用できない項目には disabled を使います。
API
TRAccordion のプロパティ
| Prop | 型 / デフォルト | 用途 |
|---|---|---|
items | List<TRAccordionItem> · required | 順序付きの開閉項目を定義します。 |
value | List<String>? · null | 開いている項目の値を制御します。 |
defaultValue | List<String> · const [] | 非制御モードで最初に開く値を指定します。 |
multiple | bool · false | 複数の項目を同時に開いたままにします。 |
onValueChange | ValueChanged<List<String>>? · null | 項目を切り替えた後の開いている値を通知します。 |
TRAccordionItem のプロパティ
| Prop | 型 / デフォルト | 用途 |
|---|---|---|
value | String · required | Root の値リスト内で項目を識別します。 |
trigger | Widget · required | 操作可能な項目ラベルを表示します。 |
content | Widget · required | 項目が開いている間、パネルを表示します。 |
disabled | bool · false | ポインターとキーボードによる切り替えを無効にします。 |