Flutter-'initialValue == null || controller == null':不正确。错误

Din*_*esh 12 dart flutter

我正在尝试为文本字段设置初始值。但是我无法在文本表单字段中设置初始值。我收到这个错误'initialValue == null || controller == null': is not true

码:

 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,
);
Run Code Online (Sandbox Code Playgroud)

}

Cop*_*oad 29

您不能同时使用initialValuecontroller。因此,一种更好的方法是使用controller它,因为它的构造函数确实为您提供了可以设置的初始值。

这是一个例子。

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

Widget buildFirstName(BuildContext context) {
  return TextFormField(
    controller: controller, 
    // ...
  );
}
Run Code Online (Sandbox Code Playgroud)

为了跟踪用户输入的值,您可以使用

controller.text
Run Code Online (Sandbox Code Playgroud)

  • 我正在创建一个表单,以便当用户第一次填写表单时,文本字段的初始值必须为空,但是一旦他完成创建表单并提交它,以及当他尝试编辑他的详细信息时,例如。名称则字段应具有用户先前输入的初始值 (3认同)