gpt4 book ai didi

forms - 使用 formKey.currentState.reset() 重置表单不起作用

转载 作者:IT王子 更新时间:2023-10-29 07:17:20 26 4
gpt4 key购买 nike

我正在创建一个包含电子邮件地址、密码及其提交按钮的表单。当我尝试使用 formKey.currentState.reset 重置表单时,它不起作用。你能帮帮我吗

class App extends StatelessWidget{
Widget build(context){
return MaterialApp(
title: 'Log Me In!',
home: Scaffold(
body: LoginScreen(),
)
);
}

}





class LoginScreen extends StatefulWidget {
LoginScreenState createState() => LoginScreenState();
}

class LoginScreenState extends State<LoginScreen> {
final formKey = GlobalKey<FormState>();

Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.all(20.0),
child: Form(
child: Column(
children: <Widget>[
emailField(),
passwordField(),
Container(margin: EdgeInsets.only(top: 25.0),),
submitButton(),
],
)));
}



Widget submitButton(){

return RaisedButton(
child: Text('Submit'),
color: Colors.blueGrey,
onPressed: (){
formKey.currentState.reset();
},
);
}

我希望重置电子邮件地址和密码。没有错误消息。

最佳答案

我知道您的问题是什么,您需要使用您创建的变量设置 Form 小部件的 key 属性。例如。 键:formKey

下面是解决问题的 LoginScreenState 类的完整代码:

class LoginScreenState extends State<LoginScreen> {
final formKey = GlobalKey<FormState>();

Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.all(20.0),
child: Form(
key: formKey, // you missed out on this!!!
child: Column(
children: <Widget>[
emailField(),
passwordField(),
Container(margin: EdgeInsets.only(top: 25.0),),
submitButton(),
],
)
)
);
}

Widget submitButton(){
return RaisedButton(
child: Text('Submit'),
color: Colors.blueGrey,
onPressed: (){
formKey.currentState.reset();
},
);
}
}

关于forms - 使用 formKey.currentState.reset() 重置表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56936194/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com