Flutter streamBuilder initalData 未按预期工作

Flutter streamBuilder initalData not working as expected

我需要在页面A中有一个搜索功能。按下搜索图标后,它将从服务器检索项目并存储到sink,然后使用stream填充到listView中.

但现在当我不按搜索图标时它一直停留在 ConnectionState.waiting。如何让它一开始显示No item?单击搜索图标时,只有它显示输出?

Container(
              child: StreamBuilder<List<ABC>>(
              initialData: null,
              stream: _bloc.displayStream,
              builder: (context, snapshot) {
                switch (snapshot.connectionState) {
                  case ConnectionState.active:
                    if (snapshot.data.isEmpty) {
                      return Center(
                          child: Column(
                              mainAxisAlignment: MainAxisAlignment.center,
                              children: <Widget>[
                            Icon(
                              Icons.format_list_bulleted,
                              size: 80,
                              color: Colors.orange,
                            ),
                            SizedBox(
                              height: 20,
                            ),
                            Text(
                              'No item',
                              style: TextStyle(fontSize: 18),
                            )
                          ]));
                    } else {
                      return Stack(
                        children: <Widget>[
                          _showListView(snapshot),
                        ],
                      );
                    }

                    break;

                  case ConnectionState.waiting:
                    return Center(
                      child: Image.asset(
                        'assets/loading.gif',
                        width: 200.0,
                        height: 200.0,
                      ),
                    );
                    break;

                  default:
                    return Text("Error");
                }
              },
            ))

builder: (context, snapshot) {

中添加if (!snapshot.hasData) return LinearProgressIndicator();

引用firebase flutter codelab