首页 > 解决方案 > Flutter DropdownButton 为 onChange 事件返回错误

问题描述

我正在编写一个项目并想添加一个 DropDownButton 但是一旦我添加 onCnange 事件它总是返回错误。下拉菜单总是返回错误。我不知道它有什么问题。在此处输入图像描述

@override
  Widget build(BuildContext context) {
    return Material( child: Column( children: [
      DropdownButton(items: [], value: dropdownValue, onChanged: (String value)  {
        setState(() {
          dropdownValue = value;
        });
      },)
    ], ), );
  }

错误信息

The argument type 'void Function(String)' can't be assigned to the parameter type 'void Function(Object?)?'.

标签: fluttererror-handlingonchangedropdownbutton

解决方案


函数和值可能是可空的,因此要么String从回调中删除类型,要么使用可空类型。

解决方案 1

DropdownButton<String>(
  items: [],
  value: dropdownValue,
  onChanged: (value) {
    setState(() {
      dropdownValue = value;
    });
  },
)

解决方案 2

DropdownButton<String>(
  items: [],
  value: dropdownValue,
  onChanged: (String? value) {
    setState(() {
      dropdownValue = value;
    });
  },
)

推荐阅读