【发布时间】:2021-09-10 17:26:49
【问题描述】:
如何修复此代码。我想我必须把返回值放在哪里。有什么帮助吗?
Widget build(BuildContext context) {
Container(
padding: const EdgeInsets.all(
10.0,
),
child: FutureBuilder<Categories>(
future: _futureCategories,
builder: (BuildContext context, AsyncSnapshot<Categories> snapshot) {
if (snapshot.hasData) {
final name = snapshot.data?.data;
return ListView.builder(
itemCount: name!.length,
itemBuilder: (BuildContext context, int index) {
return DefaultTabController(
length: name.length,
child: Scaffold(
appBar: AppBar(
bottom: const TabBar(
tabs: [
Tab(icon: Icon(Icons.directions_car)),
],
),
),
),
);
});
} else if (snapshot.hasError) {
return NewsError(
errorMessage: '${snapshot.hasError}',
);
} else {
return const Center(
child: CircularProgressIndicator(),
);
}
},
小部件构建下划线为红色。当我放在小部件行下时
return Container(
错误消失,但我在执行代码时只看到黑屏
【问题讨论】:
-
使用 return Container();除了你能解释一下添加更多说明
-
FutureBuilder 和其余部分成为死代码
-
我会删除最后一个 } else { 子句以返回圆形进度指示器,它不是一个值