ParentDataWidget 的错误使用 |颤振|下拉按钮

时间:2021-01-17 20:14:37

标签: android flutter dart drop-down-menu dropdown

我在尝试在行小部件中添加 DropdownButton 时遇到错误不正确使用 parentdata 小部件

这里我在一个行小部件中添加了两个元素,文本小部件和下拉按钮

Row(
                    children: <Widget>[

                      Expanded(flex: 1, child: Text(' Source  :')),

                      Expanded(
                          flex: 4,
                          child: FutureBuilder<SourceData>(
                              future: sourceData,
                              builder: (context, snapshot) {
                             
                          return sourceDropDownList(snapshot.data.sources);
                              
                                return CircularProgressIndicator();
                              })

                        )   // FutureBuilder
                    ],
                  ),   // Row

这是返回 DropdownButton 的 DropDownList 函数

  Widget sourceDropDownList(List<Sources> sources) {
    var sourceNameList = List<String>();

    for (var i = 0; i < sources.length; i++) {
      sourceNameList.add(sources[i].name);
    }

    return DropdownButton<String>(
      value: dropdownValue,
      
      onChanged: (String newValue) {
        setState(() {
          dropdownValue = newValue;
        });
      },

      items: sourceNameList.map((value) {
        return DropdownMenuItem(
          value: value,
          child: Text(value),
        );
      }).toList(),
    );
  }


这是确切错误消息的屏幕截图:

[Error Message][1]
[Actual Representation of widget][2]


  [1]: https://i.stack.imgur.com/w9QsX.png

  [2]: https://i.stack.imgur.com/ALAOT.png

1 个答案:

答案 0 :(得分:0)

您应该定义您的列表类型。

 items: sourceNameList.map((String value) {
                          return new DropdownMenuItem(
                            value: value,
                            child: new Text(
                              value.name,
                            )
                          );
                        }).toList(),