gpt4 book ai didi

flutter 参数类型 'void Function(String)'无法赋值给flutter中的参数类型 'void Function(String?)?'

转载 作者:行者123 更新时间:2023-12-05 09:29:56 25 4
gpt4 key购买 nike

参数类型'void Function(String)'不能赋值给参数类型'void Function(String?)?'.dartargument_type_not_assignable字符串新值。嗨,我在尝试在 flutter 中实现下拉列表菜单时出现上述错误

下面是我的代码。请问我是 flutter 的新手


class _CreateAccountState extends State<CreateAccount> {

String dropdownvalue = 'Apple';
var items = ['Apple','Banana','Grapes','Orange','watermelon','Pineapple'];

@override
Widget build(BuildContext context) {
double h = MediaQuery.of(context).size.height;
double w = MediaQuery.of(context).size.width;
return Scaffold( ....


child: DropdownButton(
value: dropdownvalue,
icon: Icon(Icons.keyboard_arrow_down),
items:items.map((String items) {
return DropdownMenuItem(
value: items,
child: Text(items)
);
}
).toList(),
onChanged: (String newValue){
setState(() {
dropdownvalue = newValue;
});
},
),

谢谢大家

最佳答案

像这样的错误是空安全相关的,你可以了解更多关于空安全的信息here .

如果您查看 DropdownButton在官方文档中的类你可以看到一个例子,其中 onChanged使用属性:

 onChanged: (String? newValue) {
setState(() {
dropdownValue = newValue!;
});
},

如果您 checkout onChanged属性实现:

final ValueChanged<T?>? onChanged;

T? 意味着它需要一个可空类型,例如 String? 而不是不可空类型,如 String

关于flutter 参数类型 'void Function(String)'无法赋值给flutter中的参数类型 'void Function(String?)?',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70197797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com