如何使用提供程序异步更新数据状态?

时间:2019-09-07 08:06:13

标签: flutter

页面中有两个标签页。切换选项卡页时,将从缓存中加载数据状态。提供程序如何异步更新数据状态?

1 个答案:

答案 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
}