title: DropdownButton<String> not changing value onChanged
body: <p>I'm working with a DropDownButton, I have created a showModalBottomSheet that is called whenever I press the Add button. Inside of these Sheet I have inserted some textfields and a dropDownButton. The data from this sheet will be sent to firestore. <br>I could successfully create the DropDownButton. But when pressed it doesn't change to the value I have selected.<br>
  The function:</p>
  <pre><code>void _CreateButtons(context){
  
      TextEditingController _buttonName = TextEditingController();
      TextEditingController _comodoName = TextEditingController();
      String _iconName;
      var _icons = ['None', 'Lock', 'LightBulb', 'Check', 'Cold', 'Alarm', 'Television', 'Bed'];
      var _formKey = GlobalKey&lt;FormState&gt;();
  
      showModalBottomSheet(context: context, builder: (BuildContext bc){
        return Center(
          child: Container(
            color: Colors.black.withOpacity(0.3),
            height: MediaQuery.of(context).size.height * 0.6,
            child: Padding(
              padding: const EdgeInsets.fromLTRB(12, 20, 12, 20),
              child: Column(
                children: [
                  Form(
                    key: _formKey,
                      child: Column(
                        children: [
                          TextFormField(
                          maxLines: 1,
                          maxLength: 10,
                          controller: _buttonName,
                          textAlign: TextAlign.center,
                          decoration: InputDecoration(
                            hintText: &quot;Button name&quot;,
                            enabledBorder: OutlineInputBorder(
                              borderRadius: new BorderRadius.circular(25.0),
                              borderSide: new BorderSide(),
                            ),
                            focusedBorder: OutlineInputBorder(
                              borderRadius: new BorderRadius.circular(25.0),
                              borderSide: new BorderSide(color: Colors.blue),
                            ),
                          ),
                          validator: (val){
                          if (val.length == 0){
                            return &quot;Button name cannot be empty&quot;;
                          }else{
                            return null;
                          }
                          },
                        ),
                        SizedBox(height: 20),
                        TextFormField( 
                          maxLines: 1,
                          maxLength: 20,                       
                          textAlign: TextAlign.center,
                          controller: _comodoName,
                          decoration: new InputDecoration(
                            hintText: &quot;Room name&quot;,
                            enabledBorder: OutlineInputBorder(
                              borderRadius: new BorderRadius.circular(25.0),
                              borderSide: new BorderSide(),
                            ),
                            focusedBorder: OutlineInputBorder(
                              borderRadius: new BorderRadius.circular(25.0),
                              borderSide: new BorderSide(color: Colors.blue),
                            ),
                          ),
                          validator: (val){
  
                          },
                        ),
                      ],
                    ),
                  ),
                  DropdownButton&lt;String&gt;(
                    items: _icons.map((String dropDownStringItem) {
                      return DropdownMenuItem&lt;String&gt;(
                        value: dropDownStringItem,
                        child: Row(
                          children: [
                            Icon(getIconData(dropDownStringItem)),
                            Text(dropDownStringItem),
                          ],
                        ),
                      );
                    }).toList(),
  
                    onChanged: (String name){
                      setState(() {
                        _iconName = name;
                      });
                    },
                    value: _iconName,
                  ),
  </code></pre>
  <p>I call this function inside the stageful widget:</p>
  <pre><code>Padding(
                    padding: EdgeInsets.only(left: screenSize/1.2, top: screenSize*1.7),
                    child: FloatingActionButton(
                      backgroundColor: Color(0xFF0F52BA),
                      onPressed: (){
                        _CreateButtons(context);
                      },
                      child: Icon(Icons.add),
                    )
                  ),
  </code></pre>
  <p>The _CreateButtons is inside the Stageful widget.</p>