Далее пример, если я правильно понял ваш вопрос:
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
String dropdownValue = 'One';
var values = <String>['One', 'Two', 'Free', 'Four'];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Title'),
),
body: Row(
children: [
DropdownButtonHideUnderline(
child: DropdownButton<String>(
value: dropdownValue,
onChanged: (String newValue) {
setState(() {
dropdownValue = newValue;
});
},
items: values.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value),
);
}).toList(),
),
),
//Button to add/change value at runtime
RaisedButton(
child: Text('Change'),
onPressed: () {
setState(() {
values = values..add('Value');
});
},
)
],
));
}
}