Flutter-StreamBuilder加载数据和UI后显示警报对话框

时间:2020-05-06 19:37:10

标签: flutter dart flutter-layout rxdart stream-builder

从StreamBuilder获取数据后,我想显示一个警告对话框。我也有要渲染的UI。当前,在返回实际的UI之前尝试在_loadUI方法内构建对话框时遇到了这样的错误。

在构建过程中调用

setState()或markNeedsBuild()。

代码:

if (dataSnapshot.hasData) {
            return dataSnapshot.data ? _loadUI(dataSnapshot.data) : _emptyView();
          }

1 个答案:

答案 0 :(得分:1)

您可以这样做:

void _loadUI(snapshot) {
...

  WidgetsBinding.instance.addPostFrameCallback((_){
    showDialog(
      context: context, 
      ...
    );
  });
}

addPostFrameCallback在帧期间运行,紧接在持久帧回调之后(刷新主渲染管道时)。