Flutter 颤振设置状态()未触发重建
我有一个登录页面,我想在点击按钮时将其更改为Flutter 颤振设置状态()未触发重建,flutter,dart,flutter-state,Flutter,Dart,Flutter State,我有一个登录页面,我想在点击按钮时将其更改为CupertinoActivityIndicator。这是我的密码: 类AuthRegister扩展StatefulWidget{ AuthRegister({Key-Key,this.authenticator}):超级(Key:Key); 最终FirebaseAuth验证器; @凌驾 _AuthRegisterState createState()=>\u AuthRegisterState(); } 类_AuthRegisterState扩展状态
CupertinoActivityIndicator
。这是我的密码:
类AuthRegister扩展StatefulWidget{
AuthRegister({Key-Key,this.authenticator}):超级(Key:Key);
最终FirebaseAuth验证器;
@凌驾
_AuthRegisterState createState()=>\u AuthRegisterState();
}
类_AuthRegisterState扩展状态{
final _formKey=GlobalKey();
final _emailController=TextEditingController();
final _passwordController=TextEditingController();
bool\u加载=假;
void\u寄存器(上下文)异步{
设置状态(){
_加载=真;
});
试一试{
睡眠(持续时间(秒:2));
抛出(“调试”);
}捕获(e){
印刷品(e);
设置状态(){
_加载=假;
});
烤面包片(味精:e);
}
}
@凌驾
无效处置(){
_emailController.dispose();
_passwordController.dispose();
super.dispose();
}
@凌驾
小部件构建(构建上下文){
//我甚至试过了,但还是失败了
//如果(_加载){
//返回CupertinoActivityIndicator();
// }
返回式CupertinoPageScaffold(
孩子:表格(
键:_formKey,
子项:列表视图(子项:[
文本(“创建帐户”),
填充物(
填充:边缘组。对称(水平:20),
子项:MyInput(类型:“电子邮件”,控制器:_emailController)),
填充物(
填充:边缘组。对称(水平:20),
子项:MyInput(类型:“密码”,控制器:_passwordController)),
填充物(
填充:仅限边集(顶部:36,底部:14,左侧:45,右侧:45),
//这里--\/\/----
孩子:(_)装载)?
CupertinoActivityIndicator():
全速按钮(
已按下:(){
//我试着在这里做setState,但没有成功
//设置状态(){
//_加载=真;
// });
_语域(上下文);
},
文本:“创建帐户”,
fillColor:true),
),
///这里----/\/\----
居中(
子:文本(
“忘记密码了吗?”,
样式:TextStyle(
颜色:color.fromRGBO(0xEE,0x56,0x42,1.0),
fontFamily:“蒙特塞拉特”,
尺寸:12),,
),
),
]),
),
);
}
}
正如你所看到的,我尝试了不同的方法。我一直在网上搜索,无论我在哪里看到,似乎我做的每件事都是正确的。在与我有相同问题的人中,我所能找到的只是在某些函数中本地声明用于执行条件的布尔变量的情况,或者使用无状态小部件的人,等等
我做错了什么?替换
sleep(const Duration(seconds: 2));
与
替换
sleep(const Duration(seconds: 2));
与
我真不敢相信我有多愚蠢!谢谢当然
sleep()。我确实在等待未来。延迟了(…)
,成功了。谢谢我真不敢相信我有多愚蠢!谢谢当然sleep()。我确实在等待未来。延迟了(…)
,成功了。谢谢