How to solve: Flutter - 'initialValue == null || controller == null': is not true. error

Question

Asked by Dinesh on October 07, 2018 (source).

I'm trying to set an initial value for the text field. But I Can't set the initial value in text form field. I'm getting this error 'initialValue == null || controller == null': is not true .

code:

 Widget buildFirstName(BuildContext context) {
 valueBuilder = valueBuild();

return TextFormField(
  controller: firstNameController,
  initialValue: valueBuilder,
  decoration: InputDecoration(
    hintText: "Enter Name",
    fillColor: Colors.white,
    hintStyle: TextStyle(
        color: Color.fromRGBO(0, 0, 0, 1.0),
        fontFamily: "SFProText-Regular"),
  ),
  validator: validatingName,
);

}

Answer

Question answered by CopsOnRoad (source).

You can't use initialValue and controller at the same time. So, a better way is to use controller because its constructor does provide you initial value that you can set.

Here is an example.

// In class level 
final controller = TextEditingController(text: "Your initial value");

Widget build(BuildContext context) {
  return TextFormField(
    controller: controller, 
    // ...
  );
}

In order to track the value entered by the user you can then use

controller.text
DART FLUTTER
SHARE: