non_constant_default_value_from_deferred_library
来自延迟加载库的常量值不能用作默认参数值。
描述
#当可选参数的默认值使用从延迟导入的库中导入的常量时,分析器会产生此诊断信息。默认值需要在编译时可用,而来自延迟加载库的常量在编译时不可用。
欲了解更多信息,请查看延迟加载库。
示例
#给定一个定义常量 zero
的文件 a.dart
dart
const zero = 0;
以下代码会产生此诊断信息,因为 zero
是在通过延迟导入方式导入的库中声明的
dart
import 'a.dart' deferred as a;
void f({int x = a.zero}) {}
常见修复
#如果你需要引用导入库中的常量,请删除 deferred
关键字
dart
import 'a.dart' as a;
void f({int x = a.zero}) {}
如果你不需要引用该常量,请替换默认值
dart
void f({int x = 0}) {}