Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:当快照为空时,小部件将消失_Flutter_Flutter Layout_Snapshot_No Data - Fatal编程技术网

Flutter 颤振:当快照为空时,小部件将消失

Flutter 颤振:当快照为空时,小部件将消失,flutter,flutter-layout,snapshot,no-data,Flutter,Flutter Layout,Snapshot,No Data,我试图建立一个搜索列表,该列表工作正常,但如果结果为空,我需要显示没有数据。我尝试了以下代码,但小部件保持了一秒钟,然后消失了 FutureBuilder( future: getSearchedProducts(widget.searchString), builder: (BuildContext context, AsyncSnapshot snapshot) { i

我试图建立一个搜索列表,该列表工作正常,但如果结果为空,我需要显示没有数据。我尝试了以下代码,但小部件保持了一秒钟,然后消失了

FutureBuilder(
                    future: getSearchedProducts(widget.searchString),
                    builder: (BuildContext context, AsyncSnapshot snapshot) {
                      if (!snapshot.hasData) {
                        return Center(
                          child: Container(
                            child: Text('No Data Found.'),
                          ),
                        );
                      } else {
                        return ListView.builder(
                            shrinkWrap: true,
                            itemCount: searchResult.length,
                            scrollDirection: Axis.vertical,
                            itemBuilder: (context, index) {

                                  return Card(
                                    child: ListTile(
                                      leading: Image.network(searchResult[index].proThumbnail),
                                      title: Text(searchResult[index].proName),
                                      onTap: () {
                                        print(searchResult[index].proName);
                                        Navigator.push(context, MaterialPageRoute(builder: (context) {
                                          return ProductPage(prodid: searchResult[index].proId);
                                        }));
                                      },
                                    ),
                                  );


                            });
                      }
                    })

有人能帮我吗。
提前感谢。

中的代码中,在之前的部分中-返回ListView.builder-添加以下代码

 ...
 else {
 if (searchResult.length == 0) 
          {
            return Center(child: const Text('No Date'));
          }
 return ListView.builder .....

我只是写了下面的代码,它的工作

 FutureBuilder(
                    future: getSearchedProducts(widget.searchString),
                    builder: (BuildContext context, AsyncSnapshot snapshot) {

                      print('length of list ${searchResult.length}');

                      if (searchResult.length==0) {
                        return Center(
                          child: Text('No data'),
                        );
                      }
                      else if (!snapshot.hasData) {
                        return Center(
                            child: CircularProgressIndicator(),
                        );
                      }
                      else {
                        return ListView.builder(
                            shrinkWrap: true,
                            itemCount: searchResult.length,
                            scrollDirection: Axis.vertical,
                            itemBuilder: (context, index) {

                                  return Card(
                                    child: ListTile(
                                      leading: Image.network(searchResult[index].proThumbnail),
                                      title: Text(searchResult[index].proName),
                                      onTap: () {
                                        print(searchResult[index].proName);
                                        Navigator.push(context, MaterialPageRoute(builder: (context) {
                                          return ProductPage(prodid: searchResult[index].proId);
                                        }));
                                      },
                                    ),
                                  );

                            });



                      }
                    }),


if
条件之前-尝试-
打印(searchResult.length)没有数据时打印0。