【问题标题】:Incorrect use of ParentDataWidget | Flutter | DropDown Button错误使用 ParentDataWidget |颤振 |下拉按钮
【发布时间】:2021-04-22 05:12:26
【问题描述】:

尝试在行小部件中添加 DropdownButton 时出现错误不正确使用父数据小部件。

这里我在 Row Widget 中添加了两个元素,Text Widget 和 DropdownButton

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-23
      • 2020-07-24
      • 1970-01-01
      • 2023-02-13
      • 2021-10-24
      • 2018-08-08
      • 2020-01-18
      相关资源
      最近更新 更多