firebase动画列表为空状态

v64noz0r  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(187)

我正在使用firebaseAnimatedList来加载数据集。我尝试为应用创建空状态,以便在没有可显示的内容时为用户提供一些指导。我看到有一个defaultChild,但它只在查询返回之前显示。如果查询返回空,则会删除defaultChild并显示一个空页面。
两种可能的解决方案,看起来都不怎么样:
1.在显示列表之前(或同时)运行查询,如果查询返回空,则生成空状态而不是列表。
1.使用Stack显示列表“后面”的空状态。
有没有更好的方法来处理firebaseAnimatedList的空状态?
更新:已提交PR以将emptyStateChild添加到firebaseAnimatedListhttps://github.com/flutter/plugins/pull/256

sdnqo3pr

sdnqo3pr1#

在Widget方法之外创建变量

int dataIndex = 0;

在FirebaseAnimatedList中执行此操作

FirebaseAnimatedList(
          shrinkWrap: true,
          defaultChild: const Center(
            child: LinearProgressIndicator(),
          ),
          query: _ordersRef,
          itemBuilder: (context, snapshot, animation, index) {
            dataIndex += 1; // Add this line
            var orderId = snapshot.key as String;
            var order = Order.fromMap(
                Map<String, dynamic>.from(snapshot.value as Map));
            return OrderTile(order: order);
          }),
      if(dataIndex == 0)
        const EmptyBlock(title: 'Oops!', subtitle: 'No orders found',), // Add Custom Container here

结果是Output

相关问题