参数'id'由于其类型而不能具有"null"的值,但隐式默认值为"null"



我正在遵循一个具有以下代码的Flutter教程,但代码在我的计算机上不起作用,我不知道如何修复它:

import 'package:flutter/foundation.dart';
class CartItem {
final String id;
CartItem({
@required this.id,
});
}

但我得到这样这些错误:

The parameter 'id' can't have a value of 'null' because of its type, but the implicit default value is 'null'.
Try adding either an explicit non-'null' default value or the 'required' modifier.dartmissing_default_value_for_parameter
{String id}

最新的dart版本现在支持sound null安全。本教程必须使用旧版本。

要指示变量的值可能为null,只需添加?到它的类型声明:

class CartItem {
final String? id = null;
CartItem({
this.id,
});
} 

class CartItem {
final String? id;
CartItem({
this.id,
});
} 

你有几个选项取决于你自己的项目…

Option1:使id为空,你可以保留@required或删除它。

class CartItem {
final String? id;
CartItem({
this.id,
});
}

Option2:给id

一个默认值(非空)
class CartItem {
final String id;
CartItem({
this.id="",
});
}

更多链接

您可以将@required this.id替换为required this.id

class City {
int id;
String name;
String imageUrl;
bool isPopular;
City(
{required this.id,
required this.name,
required this.imageUrl,
required this.isPopular});
}

相关内容

最新更新