title: Why does the dynamic textFieldControllers rebuild the entire Widget when keyboard is down?
body: <p>I have a textfieldcontroller inside a nested listed builder, When i enter text the press keyboard down the entire widget tree rebuilds causing the values in the text Field to dissappear,
  Here is the list builder where the textfield is.</p>
  <pre><code>                                                                      itemBuilder: (context, ind) {                                                         
                                                                          
  
                                                                     for (int j =
                                                                                  0;
                                                                              j &lt; prodSorted[prodSorted.keys.elementAt(index)]!.length;
                                                                              j++) {
                                                                            _addToCartControllers
                                                                                .add(
                                                                              TextEditingController(),
                                                                            );
                                                                          }
                                                                          _cartControllers[index] =
                                                                              _addToCartControllers;
                                                                          
                                                            
  
                                                                          final maxLines =
                                                                              1;
                                                                          return Container(
                                                                              margin:
                                                                                  EdgeInsets.symmetric(horizontal: 30, vertical: 2.5),
                                                                              
                                                                              height: maxLines * 20.0,
                                                                              child: TextFormField(
                                                                                autofocus: false,
                                                                                maxLines: maxLines,
                                                                                controller: _cartControllers[index][ind]!,
                                                                                // _addToCartControllers[ind],
                                                                                // controller: _cartControllers[index][ind],
  
                                          
                                                                                // _cartControllers[index][ind],
                                                                                keyboardType: TextInputType.number,
                                                                                onChanged: (value){
                                                                                  // _cartControllers[index][ind].text = value;
                                                                                  print(_cartControllers[index][ind].text);
                                                                                },
                                                                                                                                                              onSaved: (v) {
                                                                                  print(v);
                                                                                  // _cartControllers[index][ind].text = v!;
                                                                                },
                                                                                decoration: InputDecoration(
                                                                                  hintText: &quot;0&quot;,
                                                                                  isDense: true,
                                                                                  contentPadding: EdgeInsets.fromLTRB(5.0, 1.0, 5.0, 1.0),
                                                                                  border: OutlineInputBorder(borderRadius: BorderRadius.circular(0)),
                                                                                ),
                                                                                style: TextStyle(
                                                                                  fontSize: 14,
                                                                                  fontWeight: FontWeight.w400,
                                                                                ),
                                                                              ));
                                                                        })
  </code></pre>