Flutter 当snapshot.data不';我将来没有数据
在下面的代码中,当Flutter 当snapshot.data不';我将来没有数据,flutter,Flutter,在下面的代码中,当snapshot.hasData为false时,我试图显示列表为空的消息 body: FutureBuilder( future: Provider.of<TicketRepliesTableDao>(context).find(ticketId: _ticket.id), builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) {
snapshot.hasData
为false时,我试图显示列表为空的消息
body: FutureBuilder(
future: Provider.of<TicketRepliesTableDao>(context).find(ticketId: _ticket.id),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.hasData) {
final List<TicketRepliesTableData> ticketReplies = snapshot.data;
if (ticketReplies.isNotEmpty) {
}
} else {
return _loader(message: 'list is empty');
}
} else
return CircularProgressIndicator();
},
),
body:FutureBuilder(
future:Provider.of(context.find)(ticketId:_ticket.id),
生成器:(上下文,快照){
if(snapshot.connectionState==connectionState.done){
if(snapshot.hasData){
最终列表ticketReplies=snapshot.data;
if(ticketReplies.isNotEmpty){
}
}否则{
返回_loader(消息:“列表为空”);
}
}否则
返回循环ProgressIndicator();
},
),
但是在我看来,即使它没有任何数据,ticketReplies
也是空的,用这个逻辑更新你的builder
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.hasData) {
// show your data
return Text(snapshot.data);
} else {
// show list is empty
return Text("List is empty");
}
}
// by default show loading bar
return CircularProgressIndicator();
}
我得到了相同的行为。我已经用一个示例更新了代码,请运行它并让我知道这是否是您想要的?您是对的,我认为从数据库获取数据的future
,具有不同的behavior@DolDurma您确定在没有数据时返回null
吗?您是对的,我的代码不返回null
,这有问题。直到现在,我还不知道我的代码没有返回null
非常感谢