[flutter] DropdownButton 위젯의 아이템에 다른 위젯 포함하기

DropdownButton은 Flutter에서 사용자가 옵션을 선택할 수 있는 메뉴를 제공하는 위젯이다. 이 위젯을 사용하여 여러 항목 중 하나를 선택할 수 있게 해주는데, 때로는 DropdownButton의 항목으로 텍스트만 표시하는 것이 아니라 다른 위젯이나 복합적인 사용자 정의를 넣어야 할 때가 있다. 이를 위해 DropdownButton 위젯의 아이템에 다른 위젯을 포함하는 방법에 대해 알아보자.

DropdownButton의 아이템으로 다른 위젯을 포함하는 방법은 간단하다. DropdownButton의 items 프로퍼티에 DropdownMenuItem 위젯을 사용하여 다양한 형태의 아이템을 추가할 수 있다. DropdownMenuItem은 child 프로퍼티를 이용하여 텍스트 또는 다른 위젯을 포함할 수 있다.

DropdownButton<String>(
  value: _selectedItem,
  items: <DropdownMenuItem<String>>[
    DropdownMenuItem(
      value: 'item1',
      child: Text('Item 1'),
    ),
    DropdownMenuItem(
      value: 'item2',
      child: Row(
        children: <Widget>[
          Icon(Icons.star),
          SizedBox(width: 8),
          Text('Item 2'),
        ],
      ),
    ),
  ],
  onChanged: (String? value) {
    setState(() {
      _selectedItem = value!;
    });
  },
)

위의 예제에서 DropdownButton의 items에 DropdownMenuItem을 사용하여 각 아이템을 정의했다. 두 번째 DropdownMenuItem의 child로는 Row 위젯을 사용하여 별 모양의 아이콘과 텍스트를 함께 표시하도록 구성했다.

이와 같이 DropdownButton을 활용하여 다른 위젯을 포함한 다양한 형태의 아이템을 구성할 수 있다.

마무리

이렇게 DropdownButton 위젯의 아이템에 다른 위젯을 포함하는 방법에 대해 알아봤다. DropdownButton을 사용하여 사용자가 다양한 형태의 옵션을 선택하는 인터페이스를 구성할 때, 다른 위젯을 추가하여 보다 다채로운 디자인을 구현할 수 있다. 함께 활용하여 다양한 사용자 경험을 제공해보자.

Flutter DropdownButton documentation