我不确定这是否initState是正确的功能.我想要实现的是检查页面何时呈现以执行某些检查,并根据它们打开a AlertDialog来进行一些设置(如果需要).
我有一个有州的页面.它的initState功能如下:
@override
void initState() {
super.initState();
if (!_checkConfiguration()) {
_showConfiguration(context);
}
}
Run Code Online (Sandbox Code Playgroud)
在_showConfiguration这样的:
void _showConfiguration(BuildContext context) {
AlertDialog dialog = new AlertDialog(
content: new Column(
children: <Widget>[
new Text('@todo')
],
),
actions: <Widget>[
new FlatButton(onPressed: (){
Navigator.pop(context);
}, child: new Text('OK')),
],
);
showDialog(context: context, child: dialog);
}
Run Code Online (Sandbox Code Playgroud)
如果有一个更好的方法进行此检查,如果需要调用模态,请指向我正确的方向,我正在寻找一个onState或onRender函数,或我可以分配build给要在渲染上调用的函数的回调但不是能够找到一个.
编辑:它在这里接缝他们有类似的问题:Flutter重定向到initState上的页面