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

如何让Rsuite DateRangePicker打开时默认显示结束日期日历视图?

让Rsuite DateRangePicker打开时默认显示结束日期日历视图

要实现打开选择器时默认显示结束日期的日历视图,你需要调整defaultCalendarValue属性的使用方式,同时注意该属性的取值要求:

  • defaultCalendarValue需要传入Date/moment对象数组,而非格式化后的字符串,你当前代码里传入的是格式化后的日期字符串,会导致组件无法正确识别。
  • 要默认显示结束日期的日历,只需将defaultCalendarValue数组的第二个元素设置为目标结束日期对象,第一个元素可设为null或起始日期(按需选择)。

修改后的组件代码如下:

<DateRangePicker
    className='dashboardPicker'
    disabledDate={date => isAfter(date, getPreviousDay(new Date()))}
    format="dd MMM yyyy"
    value={dashboardFilter}
    portalId='root-portal'
    ranges={[]}
    editable={false}
    disabled={dashboardLoading}
    renderValue={value => {
        return moment(value[0]).format("DD MMM YYYY") + " - " + moment(value[1]).format("DD MMM YYYY")
    }}
    // 修正defaultCalendarValue:传入moment对象数组,聚焦结束日期视图
    defaultCalendarValue={dashboardFilter.length > 0 ? [null, moment(dashboardFilter[1])] : []}
    onChange={(e) => handleDashboardFilter(e)}
    placeholder='Select Date Range'
    showOneCalendar
    cleanable={false}
    character='-'
    caretAs={DateRangeOutlinedIcon}
    showMeridian
/>

关键说明

  • 若dashboardFilter已有选中的日期范围,defaultCalendarValue设为[null, moment(dashboardFilter[1])],组件打开时会自动聚焦到结束日期的日历视图。
  • 若没有选中值,可根据业务需求设置默认结束日期(比如[null, getPreviousDay(new Date())]),或者留空数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:27:02