Tinyrack

Accordion

한 번에 하나 또는 여러 섹션을 펼치는 디스클로저 항목을 쌓아요.

한 번에 하나 또는 여러 섹션을 펼치는 디스클로저 항목을 쌓아요.

핵심 속성

속성설명
선택제어형 value 또는 비제어형 defaultValue
확장기본값은 단일 확장이며 multiple로 여러 항목을 함께 열 수 있어요
사용 가능 여부개별 TRAccordionItem을 비활성화할 수 있어요
수명 주기닫힌 콘텐츠는 위젯 트리에서 제거돼요

value를 제공했다면 상호작용에 맞춰 패널이 바뀌도록 onValueChange에서 값을 갱신하세요. Tab은 일반 포커스 순서를 따르고 Enter는 즉시, Space는 키를 놓을 때 전환해요. 비활성화된 항목은 포인터와 키보드 입력을 무시해요.

설치

패키지를 추가한 뒤 공개 라이브러리를 가져오세요.

flutter pub add tinyrack_ui
import '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타입 / 기본값용도
itemsList<TRAccordionItem> · required순서가 있는 디스클로저 항목을 정의해요.
valueList<String>? · null열린 항목의 값을 제어해요.
defaultValueList<String> · const []비제어형 모드에서 처음 열 값을 지정해요.
multiplebool · false여러 항목을 동시에 열어 둬요.
onValueChangeValueChanged<List<String>>? · null항목을 전환한 뒤 다음 열린 값을 전달해요.

TRAccordionItem 속성

Prop타입 / 기본값용도
valueString · requiredRoot의 값 목록에서 항목을 식별해요.
triggerWidget · required상호작용하는 항목 레이블을 렌더링해요.
contentWidget · required항목이 열려 있을 때 패널을 렌더링해요.
disabledbool · false포인터와 키보드 전환을 막아요.