[flutter] DropdownButton 위젯의 아이템을 특정 위치로 이동하기

Flutter 앱을 개발하다보면 DropdownButton 위젯의 아이템을 특정 위치로 이동해야 하는 경우가 있을 수 있습니다. 예를 들어, 사용자가 자주 이용하는 항목을 목록의 상단에 위치시키고 싶을 때가 있을 수 있습니다. 이를 위해 DropdownButton 위젯에서 아이템을 재배열하는 방법에 대해 알아보겠습니다.

DropdownButton 위젯은 목록에서 하나의 항목을 선택할 수 있도록 하는 콤보 박스 형태의 위젯입니다. 사용자가 DropdownButton을 누르면 아이템 목록이 나타나고, 그 중 하나를 선택할 수 있습니다.

DropdownButton<String>(
  value: _selectedItem,
  items: _items.map((String value) {
    return DropdownMenuItem<String>(
      value: value,
      child: Text(value),
    );
  }).toList(),
  onChanged: (String selected) {
    setState(() {
      _selectedItem = selected;
    });
  },
)

DropdownButton 위젯은 초기 목록 순서대로 아이템이 표시됩니다. 이때, 아이템의 순서를 변경하려면 해당 목록을 변경하여 새로운 DropdownButton 위젯을 만들어야 합니다. 그러나, 이 방법은 번거로우며 코드를 지속적으로 유지보수하는 데 어려움을 줄 수 있습니다.

대신, DropdownButton 위젯의 아이템을 동적으로 재배열하고 싶은 경우에는 아이템 목록을 상태 관리 변수로 사용하고, 그 변수를 변경함으로써 아이템의 순서를 변경할 수 있습니다. 예를 들어, ListView를 통해 아이템 목록을 표시하고, 그 아이템 목록을 drag and drop 같은 기능으로 사용자가 순서를 변경할 수 있도록 구현할 수 있습니다.

이 방법을 활용하면 사용자가 직접 드래그 앤 드롭으로 아이템의 순서를 변경할 수 있기 때문에 유연한 UI를 제공할 수 있습니다.

이상으로 DropdownButton 위젯에서 아이템의 위치를 이동하는 방법에 대해 알아보았습니다. 추가적인 정보가 필요하다면 Flutter 공식 문서를 참고하세요.

Flutter 공식 문서 - DropdownButton