Flutter - 在 StreamBuilder 加载数据和 UI 后显示警报对话框
Flutter - Show alert dialog after StreamBuilder loaded data and UI
我想在从 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 运行 在帧期间,就在持久帧回调之后(即主渲染管道已被刷新时)。
我想在从 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 运行 在帧期间,就在持久帧回调之后(即主渲染管道已被刷新时)。