颤振 |构建函数绝不能 return null
Flutter | Build functions must never return null
错误消息非常简单,
我试过 return Container();否则还是不行
FutureBuilder reviewFutureBuilder() {
return FutureBuilder<OrdersModel>(
future: _futureReviewModel,
builder: (context, snapshot) {
if (snapshot.hasData) {
} else if (snapshot.hasError) {
return Center(
child: Column(
children: [
Text('$snapshot.error'),
],
),
);
}
return Center(
child: Column(
children: [
CircularProgressIndicator(),
],
),
);
},
);
由于没有提供可用的示例,我会将您转到文档。
FutureBuilder
在页面中间,您会找到一个交互式示例。
由于我不知道你的代码的全部功能,我提供了一个工作示例:
首先您需要 if-check 中的数据:
if (snapshot.hasData) {
}
变为:
if (snapshot.hasData) {
return Center(
child: Column(<SOME DATA>),
);
}
完整示例:
FutureBuilder reviewFutureBuilder() {
return FutureBuilder<OrdersModel>(
future: _futureReviewModel,
builder: (context, snapshot) {
if (snapshot.hasData) {
return Center(
child: Column(<SOME DATA>),
);
} else if (snapshot.hasError) {
return Center(
child: Column(
children: [
Text('$snapshot.error'),
],
),
);
} else {
return Center(
child: Column(
children: [
CircularProgressIndicator(),
],
),
);
}
},
);
}
我通过将 snapshot.haserror 和 return CircularProgress 包装在一个容器中解决了我的问题,这是我解决它的方法。
else if (snapshot.hasError) {
return SafeArea(
child: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: Column(
children: [
Text('$snapshot.error'),
],
),
),
);
} else {
return SafeArea(
child: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: Column(
children: [
CircularProgressIndicator(),
],
),
),
);
}
错误消息非常简单, 我试过 return Container();否则还是不行
FutureBuilder reviewFutureBuilder() {
return FutureBuilder<OrdersModel>(
future: _futureReviewModel,
builder: (context, snapshot) {
if (snapshot.hasData) {
} else if (snapshot.hasError) {
return Center(
child: Column(
children: [
Text('$snapshot.error'),
],
),
);
}
return Center(
child: Column(
children: [
CircularProgressIndicator(),
],
),
);
},
);
由于没有提供可用的示例,我会将您转到文档。 FutureBuilder
在页面中间,您会找到一个交互式示例。 由于我不知道你的代码的全部功能,我提供了一个工作示例:
首先您需要 if-check 中的数据:
if (snapshot.hasData) {
}
变为:
if (snapshot.hasData) {
return Center(
child: Column(<SOME DATA>),
);
}
完整示例:
FutureBuilder reviewFutureBuilder() {
return FutureBuilder<OrdersModel>(
future: _futureReviewModel,
builder: (context, snapshot) {
if (snapshot.hasData) {
return Center(
child: Column(<SOME DATA>),
);
} else if (snapshot.hasError) {
return Center(
child: Column(
children: [
Text('$snapshot.error'),
],
),
);
} else {
return Center(
child: Column(
children: [
CircularProgressIndicator(),
],
),
);
}
},
);
}
我通过将 snapshot.haserror 和 return CircularProgress 包装在一个容器中解决了我的问题,这是我解决它的方法。
else if (snapshot.hasError) {
return SafeArea(
child: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: Column(
children: [
Text('$snapshot.error'),
],
),
),
);
} else {
return SafeArea(
child: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: Column(
children: [
CircularProgressIndicator(),
],
),
),
);
}