在Flutter中,有没有像onStateChanged这样的方法,在页面状态发生变化时调用?
setState(() {
widget._loadCompleted = true;
widget._loading = false;
});
我试图在 setState()
方法中设置两个 bool 值。我出于其他几个原因设置状态。所以我想知道最后一次状态更改是否是出于这个特定原因。
最佳答案
正如 Günter 提到的,没有像 onStateChanged()
这样的东西。你必须在 build()
方法中处理它。
如果我没听错,你可以这样使用:
class _MyAppState extends State<MyApp> {
bool myFlag = false; // initially set to false
void _doYourWork() {
setState(() => myFlag = true); // set to true here
}
@override
Widget build(BuildContext context) {
if (myFlag) {
// setState() just got called
} else {
// we are building fresh for the first time.
}
myFlag = false;
return yourWidget();
}
}
在此之后,build()
将收到 myFlag
值为 true
,然后它可以再次设置为 false
.所以,你可以做到这一点。
关于flutter - Flutter 中的 OnStateChanged 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53314209/