构造方法解析
//构造方法
const FutureBuilder({
Key key,
this.future, //传入一个future的数据,如函数请求
this.initialData, //初始化值(注意当有一个初始值的时候,ConnectionState.waiting状态就不会再去执行)
@required this.builder, //监听future,做出的反应
}) : assert(builder != null),
super(key: key);
实际用法
body: Center(
child: FutureBuilder(
future: Future.delayed(Duration(milliseconds: 2000),(){
return "hello world";
}),
//根据future的执行的结果,会去刷新页面
builder: (BuildContext context, AsyncSnapshot<String> snapshot){
//future完成结束,拿到数据
if(snapshot.hasData){
return Text("data");
}
//future完成结束,有错误的情况
if(snapshot.hasError){
return Icon(Icons.error);
}
//等待时候,显示进度条
return CircularProgressIndicator();
},
),
),
网友评论