【问题标题】:Flutter 'showDatePicker' throws exception: Error: Expected a value of type 'String', but got one of type 'Null'Flutter 'showDatePicker' 抛出异常:错误:预期值为 'String' 类型,但得到类型为 'Null' 的值之一
【发布时间】:2021-06-22 09:50:54
【问题描述】:
TextButton(
  onPressed: () => _showPicker(context),
  child: Icon(Icons.calendar_today),
)

Future<DateTime?> _showPicker(BuildContext context) {
  return showDatePicker(
      context: context, initialDate: DateTime(2000),
      firstDate: DateTime(1990),
      lastDate: DateTime(2100));
}

DatePicker 会弹出,但当您尝试选择日期或年份时,它会抛出:预期为“字符串”类型的值,但得到一个“空”类型的值

Flutter 2.0.3 • 通道稳定 • https://github.com/flutter/flutter.git 框架 • 修订版 4d7946a68d (7 天前) • 2021-03-18 17:24:33 -0700 引擎 • 修订版 3459eb2436 工具• Dart 2.12.2

【问题讨论】:

    标签: flutter datepicker flutter-web


    【解决方案1】:

    我在使用最新的 Flutter for web 时也看到了同样的情况。看起来错误在日期选择器本身,而不是我的代码?尽管调试控制台中显示了错误消息,但日期选择器似乎仍按预期运行?

    【讨论】:

    • 刚在真机上试了一下,没有显示错误,看来只是网络问题。 Levi Lesches 的回答似乎是正确的。
    【解决方案2】:

    编辑:这已在主频道中修复,即将发布

    我为此提交了一个错误:https://github.com/flutter/flutter/issues/79834

    这是由框架在内部调用HapticFeedback.vibrate() 引起的,当您在弹出窗口中点击几乎任何东西时会发出有趣的小嗡嗡声。但是,在 Web 上,这不起作用。有一个 switch-case 可以尝试查看平台是否支持它,但是 Web 从来没有正确的TargetPlatform,所以代码认为计算机可以振动。

    当 Flutter 尝试向 Web 引擎发送消息时,会发生 null 错误。

    【讨论】:

    • 我也打开了一个问题,但他们无法复制它github.com/flutter/flutter/issues/79129
    • 我检查过了,他们已经在主频道上修复了它,这就是他们无法重现它的原因。
    【解决方案3】:

    我使用的是 2.2.3 稳定版,这个问题已经解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-26
      • 2022-10-14
      • 2021-11-04
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      • 2021-11-26
      • 2022-12-05
      相关资源
      最近更新 更多