无法将元素类型 '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()]