[flutter] DropdownButton을 클릭하면 팝업 메뉴가 열리는 원리
Flutter에서 DropdownButton 위젯을 클릭하면 팝업 메뉴가 나타나는데, 이 동작의 원리를 살펴보겠습니다.
DropdownButton란?
DropdownButton은 Flutter에서 선택 목록을 제공하는 데 사용되는 위젯입니다. 사용자가 클릭하면 팝업 메뉴가 표시되어 선택할 수 있도록 합니다.
팝업 메뉴 표시 원리
DropdownButton을 클릭하면 onTap 콜백이 실행되어, 이 콜백 안에서 DropdownButton 내부에 구현된 팝업 메뉴를 표시하는 로직이 실행됩니다. 이는 일반적으로 PopupMenuButton 위젯을 사용하여 구현됩니다.
아래는 DropdownButton을 클릭했을 때 팝업 메뉴를 표시하는 코드 예시입니다.
DropdownButton<String>(
value: selectedValue,
items: items.map((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value),
);
}).toList(),
onChanged: (String newValue) {
setState(() {
selectedValue = newValue;
});
// 팝업 메뉴 표시 로직
showPopupMenu(context);
},
)
onChanged
콜백에서 showPopupMenu
함수 등을 호출하여 팝업 메뉴를 표시하게 됩니다.
결론
DropdownButton을 클릭하면 내부적으로 구현된 팝업 메뉴가 표시됩니다. onChanged
콜백 내에서 이를 담당하는 로직을 실행하여 선택 목록을 제공하게 됩니다.