title: Flutter TextFormField not updating value on rebuild
body: <p>I'm trying to make it possible to edit a list of strings. The problem is, when I delete a list item via the <code>IconButton</code>, the TextField rebuilds but somehow still has the old value. With debugging I see, that my List of Strings are however updated correctly, meaning the deleted String is actually being deleted in my list.</p>
  
  <p>This is my code:</p>
  
  <pre><code>class EditInfoItemDialog extends StatefulWidget {
  
    @override
    State&lt;StatefulWidget&gt; createState() =&gt; _EditInfoitemDialogState();
  }
  
  class _EditInfoitemDialogState extends State&lt;EditInfoItemDialog&gt; {
  
    final _formKey = GlobalKey&lt;FormState&gt;();
    List&lt;String&gt; values = ['A', 'B', 'C'];
  
    @override
    Widget build(BuildContext context) {
  
      return Scaffold(
        body: Container(
          width: MediaQuery.of(context).size.width,
          child: Column(
            children: &lt;Widget&gt;[
              ...values.asMap().map((int index, String point) {
                return MapEntry(index, Row(
                  children: [
                    Text(index.toString()),
                    Expanded(
                      child: TextFormField(
                        decoration: InputDecoration(hintText: 'Info'),
                        initialValue: values[index],
                        onChanged: (value) =&gt; setState(() {values[index] = value; }),
                      ),
                    ),
                    IconButton(
                      icon: Icon(Icons.delete),
                      color: Colors.red,
                      onPressed: () {
                        setState(() {
                          values.removeAt(index);
                          print(values);
                        });
                      },
                    )
                  ]
                ));
              }).values.toList(),
              FlatButton(
                child: Text('Add Bulletpoint'),
                onPressed: () {
                  setState(() {
                    if (values == null) values = [];
                    values.add('');
                  });
                },
              )
            ],
          ),
        ),
      );
  
    }
  </code></pre>
  
  <p>Any Ideas?</p>