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