如何创建搜索栏和列表(使用StreamBuilder和FireStore中的Listview创建)一起滚动?

如何创建搜索栏和列表(使用StreamBuilder和FireStore中的Listview创建)一起滚动?,listview,flutter,dart,scroll,stream-builder,Listview,Flutter,Dart,Scroll,Stream Builder,我对flutter/dart比较陌生,我正在尝试让我的一个页面上的格式正常工作。我希望在顶部有一个搜索栏,然后是一个列表(充满Firestore的信息),我希望它们一起滚动,而不仅仅是列表 以下是我迄今为止的代码部分: return Column (children: <Widget>[ TextField( controller: _controller, onSubmitted: (String value) async {

我对flutter/dart比较陌生,我正在尝试让我的一个页面上的格式正常工作。我希望在顶部有一个搜索栏,然后是一个列表(充满Firestore的信息),我希望它们一起滚动,而不仅仅是列表

以下是我迄今为止的代码部分:

  return Column (children: <Widget>[
    TextField(
        controller: _controller,
        onSubmitted: (String value) async {
          await showDialog<void>(
            context: context,
            builder: (BuildContext context) {
              return AlertDialog(
                title: const Text('Thanks!'),
                content: Text('You typed "$value".'),
                actions: <Widget>[
                  FlatButton(
                    onPressed: () {
                      Navigator.pop(context);
                    },
                    child: const Text('OK'),
                  ),
                ],
              );
            },
          );
        }),
    Expanded(child: buildLearnCards(context))
  ]);
}

Widget buildLearnCards(BuildContext context) {
  return StreamBuilder(
返回列(子项:[
文本字段(
控制器:_控制器,
OnSubmited:(字符串值)异步{
等待显示对话框(
上下文:上下文,
生成器:(BuildContext上下文){
返回警报对话框(
标题:const Text('谢谢!'),
内容:Text('您键入了“$value”“),
行动:[
扁平按钮(
已按下:(){
Navigator.pop(上下文);
},
子项:常量文本('OK'),
),
],
);
},
);
}),
扩展(子:buildLearnCards(上下文))
]);
}
小部件buildLearnCards(BuildContext上下文){
返回流生成器(

我应该怎么做呢?

我将尝试对如何实现这一点进行广泛的描述,因为它需要一些基础设施和状态管理知识。我建议使用来管理状态。在提供者/模型的构造函数中,从Firestore检索文档列表并将其存储在列表中。然后使用此根据搜索文本字段筛选文档。每次调用
filterSearchResults
方法时,请调用
notifyListeners()
在功能结束时。然后在小部件中的文档列表中,使用教程中提到的
消费者
,从提供商处检索文档列表,并在
列表视图
中显示您想要的内容。希望有帮助,如果遇到问题,请询问任何问题