Flutter 条件为真时不显示循环进度指示器

Flutter 条件为真时不显示循环进度指示器,flutter,flutter-provider,Flutter,Flutter Provider,在下面的代码中, 我有一个Future Provider,它提供了一些未来的值,当我执行代码时 最初,当列表为空时,它应该显示循环进度小部件 但是对于正在构建的长度为null的ListView,它给出了一个例外 当未来值仍未收到时,如何在DCator中显示循环进度您的打印语句是实际问题。当数据为null时,它也会检查长度,因此我抛出错误,因为您也无法看到CircularProgressIndicator。我认为帖子不为null。我建议你记录你的帖子列表。它将显示将要发生的情况。您可以使用以下条件

在下面的代码中, 我有一个Future Provider,它提供了一些未来的值,当我执行代码时

最初,当列表为空时,它应该显示循环进度小部件

但是对于正在构建的长度为null的ListView,它给出了一个例外


当未来值仍未收到时,如何在DCator中显示循环进度

您的打印语句是实际问题。当数据为null时,它也会检查长度,因此我抛出错误,因为您也无法看到CircularProgressIndicator。

我认为帖子不为null。我建议你记录你的帖子列表。它将显示将要发生的情况。您可以使用以下条件posts进行检查吗?length==0 | |?@VirenVVarasadiya:我已经尝试使用post==null和post.length==0,但它给出了相同的错误,并且数据中没有问题,几秒钟后列表将正确显示,只是它在检索实际的
    import 'package:flutter/material.dart';
    import 'package:futureprovider/Employee.dart';
    import 'package:futureprovider/EmployeeService.dart';
    import 'package:provider/provider.dart';

    void main() => runApp(MyApp(
    ));

    class MyApp extends StatelessWidget {

      final PostService fur = PostService();

      @override
      Widget build(BuildContext context) {
        return MultiProvider(
          providers: [
            FutureProvider(create:(context)=> fur.getEmployees(),
            catchError: (context,e){
              print(e.toString());
              },
              //initialData: [Post(id:1,name: 1,title: '1',body: '1')],
            )
          ],
          child: MaterialApp(
            home: Scaffold(
              appBar: AppBar(title: Text("Posts Dashboard")),
              body:TilesOfPost(),
            ),
          ),
        );
      }
    }

    class TilesOfPost extends StatelessWidget {
      @override
      Widget build(BuildContext context) {

        List<Post> posts = Provider.of<List<Post>>(context);

        print("Length:"+posts.length.toString());

        return (posts==null)? Center(child:CircularProgressIndicator()):ListView.builder(
            itemCount: posts.length,
            itemBuilder: (context,index){
              return ListTile(
                title: Text(posts[index].id.toString()),
                subtitle: Text(posts[index].name.toString())
              );
            }
        );
      }
    }