Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振-由于无返回导致Streambuilder错误_Flutter_Stream Builder - Fatal编程技术网

Flutter 颤振-由于无返回导致Streambuilder错误

Flutter 颤振-由于无返回导致Streambuilder错误,flutter,stream-builder,Flutter,Stream Builder,我的Streambuilder出现错误。我不知道如何修理它。 拜托,你能帮我解决这个问题吗? 非常感谢 ══╡ WIDGETS库捕获到异常╞═══════════════════════════════════════════════════════════ 在生成StreamBuilder时引发了以下断言(脏,状态: _StreamBuilderBasState#47274): 生成函数返回null。 有问题的小部件是: StreamBuilder 构建函数不能返回null StreamBui

我的Streambuilder出现错误。我不知道如何修理它。 拜托,你能帮我解决这个问题吗? 非常感谢

══╡ WIDGETS库捕获到异常╞═══════════════════════════════════════════════════════════ 在生成StreamBuilder时引发了以下断言(脏,状态: _StreamBuilderBasState#47274): 生成函数返回null。 有问题的小部件是: StreamBuilder 构建函数不能返回null

StreamBuilder<QuerySnapshot>(
                  stream: FirebaseFirestore.instance
                      .collection('Users')
                      .doc(FirebaseAuth.instance.currentUser.uid)
                      .collection('projects')
                      .snapshots(),
                  builder: (context, snapshot) {
                    if (!snapshot.hasData)
                      const Text("Loading.....");
                    else {
                      List<DropdownMenuItem> projectItems = [];
                      for (int i = 0; i < snapshot.data.docs.length; i++) {
                        DocumentSnapshot snap = snapshot.data.docs[i];
                        projectItems.add(
                          DropdownMenuItem(
                            child: Text(
                              (snap.data()['project_Name']),
                              style: TextStyle(color: Colors.black),
                            ),
                            // snap.id,
                            //  style: TextStyle(color: Color(0xff11b719)),
                            // ),
                            value: (snap.data()['project_Name']),
                          ),
                        );
                        return Row(
                          mainAxisAlignment: MainAxisAlignment.start,
                          children: <Widget>[
                            DropdownButton(
                              items: projectItems,
                              onChanged: (projectSelected) {

                                final snackBar = SnackBar(
                                  content: Text(
                                    'Selected project is $projectSelected',
                                    style: TextStyle(color: Color(0xff11b719)),
                                  ),
                                );
                                Scaffold.of(context).showSnackBar(snackBar);
                                setState(() {
                                  selectedProject = projectSelected;
                                });
                              },
                              value: selectedProject,
                              isExpanded: false,
                              hint: new Text(
                                projectName,
                                style: TextStyle(color: Color(0xff11b719)),
                              ),
                            ),
                          ],
                        );
                      }
                    }
                  }),



StreamBuilder(
流:FirebaseFirestore.instance
.collection('用户')
.doc(FirebaseAuth.instance.currentUser.uid)
.collection(“项目”)
.snapshots(),
生成器:(上下文,快照){
如果(!snapshot.hasData)
常量文本(“加载…”);
否则{
列表项目项=[];
对于(int i=0;i
问题很明显,编译器告诉过你<代码>生成器总是需要返回一个小部件。但如果执行了条件
(!snapshot.hasData)
,则代码不会执行此操作。您必须将其更改为:

if(!snapshot.hasData){
返回文本('加载…');
}

我认为,您应该在返回行之前关闭for循环(…`语句。谢谢。我已经尝试过了。我不再收到错误消息。但是,下拉列表不再处于活动状态。我无法在下拉列表中选择数据。我认为
snapshot.data.docs.length
为零。只需打印该值并检查.snapshot.data.docs.length=3您的下拉列表是否显示了值?您面临的问题是什么噢