如何将类型 'double?' 分配给 double?

How can I assign type 'double?' to a double?

我正在尝试编写一个配置文件,我有以下代码:

const config = const Config();

class Config {
  final Map<String, double> blur;

  const Config({this.blur: const {'sigmaX': 50.0, 'sigmaY': 50.0}});
}

我正在尝试在另一个文件中使用 config.blur['sigmaX'] 来使用 ImageFilter,如下所示:

filter: ImageFilter.blur(sigmaX: config.blur['sigmaX'], sigmaY: 50),

但是当我尝试构建 运行 时出现以下错误:

The argument type 'double?' can't be assigned to the parameter type 'double'.

空安全已开启。

您的值可能为空,blur 运算符不能为 sigmaX 参数取空值。您可以使用 ??(空合并)运算符为 config.blur['sigmaX'] 恰好为空的情况提供默认值:

filter: ImageFilter.blur(sigmaX: config.blur['sigmaX'] ?? 50, sigmaY: 50),