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
非常感谢