最佳答案
我不确定 initState
是否是正确的函数。
我试图实现的是检查什么时候页面被渲染执行一些检查,并基于他们打开一个 AlertDialog
,使一些设置,如果需要的话。
我有一个页面,它有一个状态。
它的 initState
函数是这样的:
@override
void initState() {
super.initState();
if (!_checkConfiguration()) {
_showConfiguration(context);
}
}
_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);
}
如果有更好的方法来做这个检查,如果需要调用模态,请告诉我正确的方向,我正在寻找一个 onState
或者 onRender
函数,或者一个回调函数,我可以分配给 build
函数在渲染时调用,但是找不到。
编辑: 看起来这里他们有一个类似的问题: 将 Flutter 重定向到 initState 上的页面