Last active
July 22, 2023 14:55
-
-
Save shihaohong/72cb30560017ad50072ed7c37513c438 to your computer and use it in GitHub Desktop.
How to use DropdownButton.selectedItemBuilder
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
void main() => runApp(MyApp()); | |
class MyApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
title: 'Flutter Demo', | |
theme: ThemeData( | |
primarySwatch: Colors.blue, | |
), | |
home: MyHomePage(title: 'Flutter Demo Home Page'), | |
); | |
} | |
} | |
class MyHomePage extends StatefulWidget { | |
MyHomePage({Key key, this.title}) : super(key: key); | |
final String title; | |
@override | |
_MyHomePageState createState() => _MyHomePageState(); | |
} | |
class _MyHomePageState extends State<MyHomePage> { | |
List<String> options = <String>['One', 'Two', 'Free', 'Four']; | |
String dropdownValue = 'One'; | |
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
appBar: AppBar(title: Text(widget.title)), | |
body: Container( | |
color: Colors.blue, | |
child: Center( | |
child: DropdownButton<String>( | |
value: dropdownValue, | |
onChanged: (String newValue) { | |
setState(() { | |
dropdownValue = newValue; | |
}); | |
}, | |
selectedItemBuilder: (BuildContext context) { | |
return options.map((String value) { | |
return Text( | |
dropdownValue, | |
style: TextStyle(color: Colors.white), | |
); | |
}).toList(); | |
}, | |
items: options.map<DropdownMenuItem<String>>((String value) { | |
return DropdownMenuItem<String>( | |
value: value, | |
child: Text(value), | |
); | |
}).toList(), | |
), | |
), | |
), | |
); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
'preciate it!