我想同时使用controller和initialValue但是显示错误
TextFormField(
controller: txtEmail,
initialValue: initialValues['emailAddress'],
decoration: InputDecoration(
prefixIcon: Icon(Icons.email),
label: Text('Email Address'),
focusedBorder: UnderlineInputBorder(borderSide: BorderSide(color: accentColor)),
enabledBorder: UnderlineInputBorder(borderSide: BorderSide(color: iconColor))
),
),
不能同时使用控制器和初始值。要么你用onChanged
属性的initialValue
要么用控制器。如果您需要控制器和初始值,那么您可以将初始值分配给controller.text
final textController = TextEditingController();
void initState(){
textController.text = 'your initial value';
super.initState();
}
因为文本表单字段想要断言(initialValue == null || controller == null)。所以你可以将initialValue文本设置为controller
添加:
txtEmail.text = initialValues['emailAddress'];
删除initialValue:
TextFormField(
controller: txtEmail,
decoration: InputDecoration(
prefixIcon: Icon(Icons.email),
label: Text('Email Address'),
focusedBorder: UnderlineInputBorder(borderSide: BorderSide(color: accentColor)),
enabledBorder: UnderlineInputBorder(borderSide: BorderSide(color: iconColor))
),
),