Flutter DropdownButton-更新颤振后出错

Flutter DropdownButton-更新颤振后出错,flutter,dropdownbutton,Flutter,Dropdownbutton,我只是发现这部分代码在更新颤振后不再工作。 我不明白是什么问题。它以前工作得很好。 如果你能帮我解决这个问题,我们将非常感谢你的帮助。非常感谢 完整的错误消息是 无法推断类型参数“t” 试图推断“T”的“动态”,但该选项无效: 参数“onChanged”声明为“void函数(T?)” 但参数是“空函数(对象?)”。 “dynamic”类型是根据以下公式推断的: 参数“items”声明为“List” 但参数是“列表”。 参数“value”声明为“T” 但争论是“动态的” 考虑将显式类型参数传递给泛

我只是发现这部分代码在更新颤振后不再工作。 我不明白是什么问题。它以前工作得很好。 如果你能帮我解决这个问题,我们将非常感谢你的帮助。非常感谢

完整的错误消息是

无法推断类型参数“t”

试图推断“T”的“动态”,但该选项无效: 参数“onChanged”声明为“void函数(T?)” 但参数是“空函数(对象?)”。 “dynamic”类型是根据以下公式推断的: 参数“items”声明为“List” 但参数是“列表”。 参数“value”声明为“T” 但争论是“动态的”

考虑将显式类型参数传递给泛型

"

填充(
填充:常数边集全部(8.0),
孩子:StreamBuilder(
流:FirebaseFirestore.instance
.collection('用户')
.doc(FirebaseAuth.instance.currentUser!.uid)
.集合(“焦点区域”)
.snapshots(),
生成器:(上下文,快照){
如果(!snapshot.hasData)
常量文本(“加载…”);
否则{
列表项目项=[];
对于(int i=0;i
我找到了一个解决方案,可以删除错误消息

Padding(
                padding: const EdgeInsets.all(8.0),
                child: StreamBuilder<QuerySnapshot>(
                    stream: FirebaseFirestore.instance
                        .collection('Users')
                        .doc(FirebaseAuth.instance.currentUser!.uid)
                        .collection('area_of_Focus')
                        .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['area_of_Focus_Name']),
                                style: TextStyle(color: Colors.black),
                              ),
                              value: (snap['area_of_Focus_Name']),
                            ),
                          );}
                        return Row(
                          mainAxisAlignment: MainAxisAlignment.start,
                          children: <Widget>[
                            DropdownButton<dynamic> ( 
                              items: projectItems,
                              onChanged:
                                  (myFocus) {
                                setState(() {
                                  selectedFocus = myFocus;
                                  _valueAreaOfFocusSaved = myFocus; 
                                 // taskNewValue ['area_of_Focus_Name'] = myFocus ;
                                });
                              },
                              value: selectedFocus,
                              isExpanded: false,
                              hint:  SizedBox(
                                width: 315.0,
                                height: 40.0,
                                child: Text(
                                  projectName,
                                  style: TextStyle(color: Colors.black),
                                ),
                              ),
                            ),
                          ],
                        );
                      }
                      return Container(
                        height: 0,width: 0,
                      );
                    }
                ),
              ),

填充(
填充:常数边集全部(8.0),
孩子:StreamBuilder(
流:FirebaseFirestore.instance
.collection('用户')
.doc(FirebaseAuth.instance.currentUser!.uid)
.集合(“焦点区域”)
.snapshots(),
生成器:(上下文,快照){
如果(!snapshot.hasData)
常量文本(“加载…”);
否则{
列表项目项=[];
对于(int i=0;iPadding(
                padding: const EdgeInsets.all(8.0),
                child: StreamBuilder<QuerySnapshot>(
                    stream: FirebaseFirestore.instance
                        .collection('Users')
                        .doc(FirebaseAuth.instance.currentUser!.uid)
                        .collection('area_of_Focus')
                        .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['area_of_Focus_Name']),
                                style: TextStyle(color: Colors.black),
                              ),
                              value: (snap['area_of_Focus_Name']),
                            ),
                          );}
                        return Row(
                          mainAxisAlignment: MainAxisAlignment.start,
                          children: <Widget>[
                            DropdownButton<dynamic> ( 
                              items: projectItems,
                              onChanged:
                                  (myFocus) {
                                setState(() {
                                  selectedFocus = myFocus;
                                  _valueAreaOfFocusSaved = myFocus; 
                                 // taskNewValue ['area_of_Focus_Name'] = myFocus ;
                                });
                              },
                              value: selectedFocus,
                              isExpanded: false,
                              hint:  SizedBox(
                                width: 315.0,
                                height: 40.0,
                                child: Text(
                                  projectName,
                                  style: TextStyle(color: Colors.black),
                                ),
                              ),
                            ),
                          ],
                        );
                      }
                      return Container(
                        height: 0,width: 0,
                      );
                    }
                ),
              ),