作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在创建一个包含电子邮件地址、密码及其提交按钮的表单。当我尝试使用 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/
我正在为 facebook 示例演示应用程序开发 xmpp 聊天。我的 ApplicationActivity 扩展了 Application。为此,我遵循此 url https://github.c
我正在创建一个包含电子邮件地址、密码及其提交按钮的表单。当我尝试使用 formKey.currentState.reset 重置表单时,它不起作用。你能帮帮我吗 class App extends S
我今天尝试为我的 android 项目设置 acra,但没有成功。我按照说明进行操作,在 gradle 中导入 acra 库(编译“ch.acra:acra:4.7.0”)然后我添加了这个: @Rep
我是一名优秀的程序员,十分优秀!