Menu#
액션 목록을 표시하는 메뉴 컴포넌트입니다. 드롭다운 및 컨텍스트 메뉴로 사용할 수 있습니다.
사용법#
// 드롭다운 메뉴
CouiMenu(
trigger: CouiButton(
onPressed: null,
child: Text('메뉴'),
),
items: [
CouiMenuItem(
label: '편집',
icon: Icons.edit,
onTap: handleEdit,
),
CouiMenuItem(
label: '복사',
icon: Icons.copy,
onTap: handleCopy,
),
CouiMenuDivider(),
CouiMenuItem(
label: '삭제',
icon: Icons.delete,
onTap: handleDelete,
destructive: true,
),
],
)
// 컨텍스트 메뉴
CouiContextMenu(
items: menuItems,
child: Text('우클릭하세요'),
)
Menu(
trigger: Button(onClick: null, child: Text('메뉴')),
items: [
MenuItem(label: '편집', icon: Icons.edit, onClick: handleEdit),
MenuItem(label: '복사', icon: Icons.copy, onClick: handleCopy),
MenuDivider(),
MenuItem(label: '삭제', icon: Icons.delete, onClick: handleDelete),
],
)
Props / Parameters#
| 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|
trigger | Widget | 필수 | 메뉴를 여는 트리거 위젯 |
items |
List<CouiMenuEntry> |
필수 | 메뉴 항목 목록 |
placement |
MenuPlacement |
bottomStart |
메뉴 표시 위치 |
onOpen |
VoidCallback? |
null |
메뉴 열림 콜백 |
onClose |
VoidCallback? |
null |
메뉴 닫힘 콜백 |
변형 (Variants)#
서브메뉴#
CouiMenu(
trigger: trigger,
items: [
CouiMenuItem(label: '파일', onTap: handleFile),
CouiSubMenu(
label: '내보내기',
items: [
CouiMenuItem(label: 'PDF', onTap: handleExportPdf),
CouiMenuItem(label: 'CSV', onTap: handleExportCsv),
],
),
],
)
단축키 표시#
CouiMenuItem(
label: '붙여넣기',
icon: Icons.paste,
shortcut: 'Ctrl+V',
onTap: handlePaste,
)
체크 메뉴#
CouiMenuCheckItem(
label: '자동 저장',
checked: isAutoSave,
onChanged: handleAutoSaveToggle,
)