连接状态始终在等待



在颤振快照中从数据库中获取数据时,ConnectionState始终在等待,循环进度指示器不断加载。

我没有收到任何错误,我正在使用FutureBuilder来构建我的小部件。

我构建小部件的类

    import 'package:flutter/material.dart';
    import 'package:provider/provider.dart';
    import '../providers/event_provider.dart';
    class HomeScreen extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return FutureBuilder(
          future: Provider.of<EventProviders>(context).fetchAndSetEvents(),
          builder: (ctx, dataSnapshot) {
            if (dataSnapshot.connectionState == ConnectionState.waiting) {
              return Center(
                child: CircularProgressIndicator(),
              );
            } else {
              return Consumer<EventProviders>(
                child: Text('Not found'),
                builder: (ctx, eventData, ch) {
                  if (eventData.events.length <= 0) {
                    return ch;
                  } else {
                    return ListView.builder(
                      itemCount: eventData.events.length,
                      itemBuilder: (ctx, index) {
                        return Container(
                          child: Text(eventData.events[index].eventName),
                        );
                      },
                    );
                  }
                },
              );
            }
          },
        );
      }
    }

我未来的班级

  Future<void> fetchAndSetEvents() async {
      final dataList = await DBHelper.getData('user_events');
      _events = dataList
          .map(
            (data) => EventProvider(
              eventName: data['event'],
              eventDate: data['date'],
              id: data['id'],
            ),
          )
          .toList();
      notifyListeners();
    }
  }

一些帮助将不胜感激

设置侦听:假

future: Provider.of<EventProviders>(context, listen: false).fetchAndSetEvents(),

最新更新