Flutter - 在StreamBuilder加载数据和用户界面后显示警报对话框。

问题描述 投票:0回答:1

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

在构建过程中调用setState()或markNeedsBuild()方法。

代码:我想在从StreamBuilder获取数据后,显示一个警告对话框。

if (dataSnapshot.hasData) {
            return dataSnapshot.data ? _loadUI(dataSnapshot.data) : _emptyView();
          }
flutter dart flutter-layout rxdart stream-builder
1个回答
1
投票

你可以这样做。

void _loadUI(snapshot) {
...

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

addPostFrameCallback在一帧中运行,就在持久化帧回调之后(也就是主渲染管道被刷新的时候)。

© www.soinside.com 2019 - 2024. All rights reserved.