我正在尝试为文本字段设置初始值。但是我无法在文本表单字段中设置初始值。我收到此错误'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,
);
}
不能同时使用initialValue
和controller
。因此,最好使用controller
,因为您可以在其构造函数中设置默认文本。
下面是一个示例。
// Create the controller.
final controller = TextEditingController(text: "Your initial value");
Widget build(BuildContext context) {
return TextFormField(
controller: controller, // Assign it here.
// ...
);
}
若要获取用户输入的值,请使用:
controller.text
你不能同时拥有 TextFormField 的控制器和 initialValue,这是我们从线程@CopsOnRoad知道的。
除了将默认文本传递给控制器的构造函数之外,还可以通过将值分配给控制器文本来修改 TextFormField 的值
firstNameController.text = valueBuilder;
controller..setText("Your initial value text")