我有一个错误:'List <DropdownMenuItem <String >>'不是'List <String>'类型的子类型

时间:2020-08-23 14:39:20

标签: flutter dart

我正在处理一个flutter项目,在该项目中,我将一个对象数组(列表>数组)从我的bloc传递到了流生成器。如果我打印对象,则打印效果很好,但是当我尝试在DropdownMenuItem中将它们映射出来时,它会抛出上述错误。因此,如果我在类中以相同的格式创建了一个虚拟数组并对其进行访问,则不会收到该错误。我不确定我在这里缺少什么。

Expanded(
          child: Padding(
            padding: const EdgeInsets.all(5.0),
            child: DropDownField(
              controller: _idpatientController,
              items: data.map<DropdownMenuItem<String>>((list) {
                return  DropdownMenuItem<String>(
                  child: Text(
                      list['nom_patient'] + " " + list['prenom_patient']),
                  value: list['id_patient'],
                );
              }).toList(),
              value: selectedName,
              onValueChanged: (value) {
                setState(() {
                  selectedName = value;
                  print(value);
                });
              },
            ),
          ),
        )

1 个答案:

答案 0 :(得分:0)

尝试一下:

    items: <String>['A', 'B', 'C', 'D'].map((String value) {
    return new DropdownMenuItem<String>(
      value: value,
      child: new Text(value),
    );
  }).toList(),