You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter类中如何通过初始化列表为多个DateTime参数设置默认值

实现方法

初始化列表支持同时为多个字段赋值,多个赋值逻辑之间用英文逗号分隔即可,你可以直接参考下方完整代码:

class Reminder {
  final String name;
  final String type;
  final DateTime startDate;
  final String repeatFrequency;
  final DateTime endDate;

  Reminder({
    this.name = "",
    this.type = "",
    DateTime? startDate,
    this.repeatFrequency = "",
    DateTime? endDate,
  })  : startDate = startDate ?? DateTime.utc(2021, 1, 1),
        endDate = endDate ?? DateTime.utc(2021, 1, 1);
}

补充说明

  • 这里用Dart的空合并运算符??替代了三元表达式,写法更简洁,效果和你之前写的startDate != null ? startDate : 默认值完全一致
  • 如果你希望直接在参数位设置默认值,也可以给默认的DateTime.utc加上const修饰,同样符合Dart「可选参数默认值必须为常量」的要求,写法如下:
Reminder({
  this.name = "",
  this.type = "",
  this.startDate = const DateTime.utc(2021, 1, 1),
  this.repeatFrequency = "",
  this.endDate = const DateTime.utc(2021, 1, 1),
});

内容的提问来源于stack exchange,提问作者davenz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:48:03