数据库中没有值时如何处理 FutureBuilder?扑

how to handle FutureBuilder when no value in database? flutter

我正在尝试创建一个使用 future builder 的屏幕,当数据库中有数据时它工作得很好但是当没有找到数据时它显示错误:

FormatException: Unexpected end of input (at character 2)

这是我的代码:

 FutureBuilder(
            future: allCars(),
            builder: (context, AsyncSnapshot snapshot){
              if(!snapshot.hasError){
  
                    return Center(child: Text("No Cars"));
                }

              else {
                if (snapshot.hasError) print(snapshot.error);
                return snapshot.hasData ? ListView.builder(
                    itemCount: snapshot.data!.length,
                    itemBuilder: (context, index) {
                      List list = snapshot.data;
                      return SingleChildScrollView()
                    }

它必须在屏幕上显示:Text("No Cars"))。但是当没有找到数据时它会不断重新加载? 提前致谢 <3 .

使用if(snapshot.hasData)判断是否有数据

    FutureBuilder(
                future: allCars(),
                builder: (context, AsyncSnapshot snapshot){
                  if(!snapshot.error){
      
                        return Center(child: Text("No Cars"));
                    }
    
                  else {
                    if (snapshot.hasdata) {

                    return  ListView.builder(
                        itemCount: snapshot.data!.length,
                        itemBuilder: (context, index) {
                          List list = snapshot.data;
                          return SingleChildScrollView()
                        }else{
return Text("No cars")}