需要在日期范围名称的 select 上设置默认日期

Need to set default date on select of date range name

我只想设置范围,这意味着您可以看到 ranges={{}}对象。我正在尝试根据有人点击它时的范围设置日期 select 根据日历开始到结束的范围你也可以看到下面的 CodeSandBox link。我正在使用日期范围格式,我的任务是什么,如果有人点击上个月,那么上个月将 select,如果有人点击去年,那么去年将 select 只有今天、一周和一个月是有效的没有其他需要设置它我感到困惑。

     <RangePicker
      ranges={{
        Yesterday: [
          moment().startOf("yesterday"), 
          moment().endOf("yesterday")],
        Today: [moment(), moment()],
        "Last Week": [
          moment().startOf("week"), 
          moment().endOf("week")],
        "Last Month": [
          moment().startOf("lastmonth"),
          moment().endOf("lastmonth")
        ],
        "This Month": [
          moment().startOf("month"),
          moment().endOf("month")],
        "Last Year": [
          moment().startOf("year"),
          moment().endOf("year")]
      }}
      onChange={onChange}
    />

Check my code in CodeSnadBox

    Yesterday: [
      moment().subtract(1,'day').startOf("day"), 
      moment().subtract(1,'day').endOf("day")],

没有startOf('yesterday')。您可以使用 moment().subtract(1,'day').startOf('day')

工作演示https://codesandbox.io/s/preset-ranges-antd4155-forked-lhckx

moment().subtract(1,'day') // yesterday
moment().subtract(1,'month') // a month ago
moment().subtract(1, 'year') //a year ago

moment().startOf('year');    // set to January 1st, 12:00 am this year
moment().startOf('month');   // set to the first of this month, 12:00 am
moment().startOf('quarter');  // set to the beginning of the current quarter, 1st day of months, 12:00 am
moment().startOf('week');    // set to the first day of this week, 12:00 am
moment().startOf('isoWeek'); // set to the first day of this week according to ISO 8601, 12:00 am
moment().startOf('day');     // set to 12:00 am today
moment().startOf('date');     // set to 12:00 am today
moment().startOf('hour');    // set to now, but with 0 mins, 0 secs, and 0 ms
moment().startOf('minute');  // set to now, but with 0 seconds and 0 milliseconds
moment().startOf('second');  // same as moment().milliseconds(0);