我正在遵循一个具有以下代码的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});
}