无法将元素类型 'List<DropdownMenuItem<double>>' 分配给列表类型 'DropdownMenuItem<double>'
The element type 'List<DropdownMenuItem<double>>' can't be assigned to the list type 'DropdownMenuItem<double>'
我在尝试自动化属于 DropDownButton 的项目时遇到问题。
每次我尝试执行下面的函数时,我都会得到这个 error:The 元素类型 'List<DropdownMenuItem>' 无法分配给列表类型 'DropdownMenuItem'.
我尝试不使用地图功能,并按照Flutter官方页面描述如何使用下拉按钮的方式进行操作,但没有任何改变。我得到了同样的错误。
class DataHelper {
static List<String> tumDerslerinHarflerii() {
return ["AA", "BA", "BB", "CB", "CC", "CD", "DD", "FD", "FF"];
}
static double? harfiNotaCevir(String harf) {
switch (harf) {
case "AA":
return 4;
case "BA":
return 3.5;
case "BB":
return 3.0;
case "CB":
return 2.5;
case "CC":
return 2;
case "DC":
return 1.5;
case "DD":
return 1.0;
case "FD":
return 0.5;
case "FF":
return 0.0;
}
return null;
}
static List<DropdownMenuItem<double>> tumDerslerinHarfleri() {
return tumDerslerinHarflerii()
.map(
(e) => DropdownMenuItem(
child: Text("$e"),
value: harfiNotaCevir(e),
),
)
.toList();
}
}
我正在我的 DropDownWidget 中使用它:
_buildHarfler(GlobalKey buildHarfKey, double _value) {
return Container(
decoration: BoxDecoration(
color: Sabitler.anaRenk.withOpacity(0.3),
borderRadius: Sabitler.borderRadius,
),
child: DropdownButton<double>(
key: buildHarfKey,
value: _value,
items: [
// Dropdown içindeki elementlerin her biri bir widget; liste istiyor.
DataHelper.tumDerslerinHarfleri(),
],
onChanged: (secilenDeger) {
_value = secilenDeger!;
},
),
);
}
将 DataHelper.tumDerslerinHarfleri(),
更改为 ...DataHelper.tumDerslerinHarfleri(),
这会将列表中来自您的函数 (tumDerslerinHarfleri
) 的项目添加到您的 DropdownButton
的 items
你需要传播你的列表。 [...DataHelper.tumDerslerinHarfleri()]
我在尝试自动化属于 DropDownButton 的项目时遇到问题。 每次我尝试执行下面的函数时,我都会得到这个 error:The 元素类型 'List<DropdownMenuItem>' 无法分配给列表类型 'DropdownMenuItem'.
我尝试不使用地图功能,并按照Flutter官方页面描述如何使用下拉按钮的方式进行操作,但没有任何改变。我得到了同样的错误。
class DataHelper {
static List<String> tumDerslerinHarflerii() {
return ["AA", "BA", "BB", "CB", "CC", "CD", "DD", "FD", "FF"];
}
static double? harfiNotaCevir(String harf) {
switch (harf) {
case "AA":
return 4;
case "BA":
return 3.5;
case "BB":
return 3.0;
case "CB":
return 2.5;
case "CC":
return 2;
case "DC":
return 1.5;
case "DD":
return 1.0;
case "FD":
return 0.5;
case "FF":
return 0.0;
}
return null;
}
static List<DropdownMenuItem<double>> tumDerslerinHarfleri() {
return tumDerslerinHarflerii()
.map(
(e) => DropdownMenuItem(
child: Text("$e"),
value: harfiNotaCevir(e),
),
)
.toList();
}
}
我正在我的 DropDownWidget 中使用它:
_buildHarfler(GlobalKey buildHarfKey, double _value) {
return Container(
decoration: BoxDecoration(
color: Sabitler.anaRenk.withOpacity(0.3),
borderRadius: Sabitler.borderRadius,
),
child: DropdownButton<double>(
key: buildHarfKey,
value: _value,
items: [
// Dropdown içindeki elementlerin her biri bir widget; liste istiyor.
DataHelper.tumDerslerinHarfleri(),
],
onChanged: (secilenDeger) {
_value = secilenDeger!;
},
),
);
}
将 DataHelper.tumDerslerinHarfleri(),
更改为 ...DataHelper.tumDerslerinHarfleri(),
这会将列表中来自您的函数 (tumDerslerinHarfleri
) 的项目添加到您的 DropdownButton
items
你需要传播你的列表。 [...DataHelper.tumDerslerinHarfleri()]