[flutter] DropdownButton을 클릭하면 팝업 메뉴가 열리는 원리

Flutter에서 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 콜백 내에서 이를 담당하는 로직을 실행하여 선택 목록을 제공하게 됩니다.

참고 자료