【问题标题】:Flutter- DropdownMenuItem 值绑定问题
【发布时间】:2022-01-23 14:42:23
【问题描述】:

我正在尝试将值绑定到 DDL。绑定值时遇到问题。我必须将 desc 和代码发送到后端。现在 DropdownMenuItem 值没有绑定。它显示 int 不能分配给参数类型 DropDownDataModel

DropdownButton<DropDownDataModel>(
  isExpanded: true,
  underline: Container(),
  value: dropdownvalue,
  items: attempt.attemptList.map((items) {
          return DropdownMenuItem<DropDownDataModel>(
          value: items.code,
          child: Text(items.desc),
          );
           }).toList(),
  onChanged: (value) {
      print('value ${value}');
      setState(() {
       dropdownvalue = value;
       attempt.desc = value.name;
       attempt.code = attempt.attemptList[value.value].code;
       });
 })

【问题讨论】:

  • 下拉值的类型是什么?
  • 我已将其声明为 var
  • dropdownvalue 应该是 DropDownDataModel
  • 可以加入attempt
  • #Yeasin 尝试是来自 API 的列表数据。在其中有一个名为尝试列表的字段,我必须将此值绑定到 DDL 中,并且我必须为选定的下拉列表传递代码和 desc。

标签: android ios flutter dart


【解决方案1】:

我认为错误就在这里

value: dropdownvalue,

dropdownvalue 不应该是 DropDownDataModel,因为那是 DropdownButton 的值。

所以第一个选项,如果你想将int 分配给dropdownvalue 而不是DropDownDataModel,那么你应该声明如下:

DropdownButton<int>

或者如果您希望值为DropDownDataModel,那么您应该将dropdownvalue 更改为包含DropDownDataModel,如下所示:

var DropDownDataModel? dropdownvalue;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    相关资源
    最近更新 更多