关于颤振的问题,我不知道如何解决

时间:2019-01-06 17:34:48

标签: flutter

我遇到了这个问题;我已经创建了DropDownButton的{​​{1}},并且可以访问自己创建的项目的来源,即StateFulWidget

通过List函数,我得到了项目并将它们注入到map()中,一切正常。但是我想将项目的源作为参数传递给我将在DropdownMenuItem方法中创建的对象的构造函数,但这没有用。

弹出的原因之一是:

  
      
    •   
      •   小计图书馆对意外的╞═════════════════════════════════════════ ══════════════════我/扑   (7852):构建myMenu(dirty,   状态:mymenu#39f55):I / flutter(7852):类型“列表”不是子类型   'List>'I / flutter(7852)类型的:断言指示一个   框架本身的错误,否则我们应该提供实质性的   I / flutter(7852):此错误消息中的更多信息可为您提供帮助   确定并解决根本原因。   
    •   
  •   

如何解决此问题?

这是我的代码:

runapp()

1 个答案:

答案 0 :(得分:0)

您可以使用StatefulWidgetwidget访问变量,如下例所示

class myMenu extends StatefulWidget {
  final inputData;
  myMenu(
      {Key key,
        @required this.inputData,
        })
      : super(key: key);
  State<StatefulWidget> createState() => mymenu();


}

class mymenu extends State<myMenu> {
  var nameees;



  Widget build(BuildContext context) {
    return DropdownButton<String>(
      items: widget.inputData.map((String name) {
        return DropdownMenuItem<String>(
          value: name,
          child: Text(name),
        );
      }).toList(),
      onChanged: (itemSelectedByUser) {
        setState(() {
          nameees = itemSelectedByUser;
        });
      },
      value: nameees,
    );
  }
}