dedecms双语网站,建设网站上海市,为外国企业做中文网站建设,建网站比较好概述
当界面的内容需要依靠网络请求的数据#xff0c;就需要处理苦恼的#xff0c;状态是空#xff0c;非空的逻辑了#xff0c;不然页面构建可能会报错#xff0c;而FutureBuilder提供了一个非常好的解决方法#xff0c;直接看代码
代码
异步操作函数
即网络请求函数…概述
当界面的内容需要依靠网络请求的数据就需要处理苦恼的状态是空非空的逻辑了不然页面构建可能会报错而FutureBuilder提供了一个非常好的解决方法直接看代码
代码
异步操作函数
即网络请求函数通常情况下
FutureListString fetchStringList() async {return Future.delayed(Duration(seconds: 2), () {// 模拟网络请求return [Item 1, Item 2, Item 3];});
}widget构建部分
class MyApp extends StatelessWidget {overrideWidget build(BuildContext context) {return MaterialApp(home: Scaffold(appBar: AppBar(title: Text(FutureBuilder Example),),body: Center(child: FutureBuilderListString(future: fetchStringList(), // Future函数builder: (context, snapshot) {if (snapshot.connectionState ConnectionState.waiting) {// 数据还在加载中显示一个加载指示器return CircularProgressIndicator();} else if (snapshot.hasError) {return Text(Error: ${snapshot.error});} else {return ListView.builder(itemCount: snapshot.data!.length,itemBuilder: (context, index) {return ListTile(title: Text(snapshot.data![index]),);},);}},),),),);}
}可以看出来这为需要异步操作的页面提供了更好的构建页面方式。