页面中有两个标签页。切换选项卡页时,将从缓存中加载数据状态。提供程序如何异步更新数据状态?
答案 0 :(得分:0)
1-您可以使用枚举指示数据状态
enum DataState{loading,success,error,idle}
在您的类的 2-添加枚举实例扩展changeNotifier
class YourClass extends ChangeNotifier {
DataState state = DataState.idle;
//the rest of your code
}
3-在更新数据的函数内更改state
的状态
Future updateData()async{
state = DataState.loading;
notifyListenrs();
await data;
if(data!=null)
state = DataState.sucess;
else
state = DataState.error;
notifyListeners();
}
在界面内4-生成 switch语句,以根据
返回不同的小部件current state
switch(model.state)
{
case DataState.loading:
return CircularProgressIndicator();
break;
case DataState.succuess:
return showDataWidget();
break;
//and so on
}