从StreamBuilder获取数据后,我想显示一个警告对话框。我也有要渲染的UI。当前,在返回实际的UI之前尝试在_loadUI
方法中构建对话框时遇到了这样的错误。
setState() or markNeedsBuild() called during build.
码:
if (dataSnapshot.hasData) {
return dataSnapshot.data ? _loadUI(dataSnapshot.data) : _emptyView();
}
最佳答案
您可以这样:
void _loadUI(snapshot) {
...
WidgetsBinding.instance.addPostFrameCallback((_){
showDialog(
context: context,
...
);
});
}
addPostFrameCallback在帧期间运行,紧接在持久帧回调之后(刷新主渲染管道时)。
关于flutter - Flutter-StreamBuilder加载数据和UI后显示警报对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61643882/