React DatePicker设置默认起始日期为上月首日的实现咨询
实现修改方案
你只需要调整startDate的生成逻辑即可,完整修改后代码如下:
useEffect(() => { const loadAndSetData = async () => { setLoading(true); // 修改为获取上个月第一天 const startDate = moment() .subtract(1, 'months') .startOf('month'); const endDate = moment().endOf('day'); formRef.current.setFieldsValue({ rangePicker: [startDate, endDate], }); setLoading(false); }; // 原代码缺少函数调用,补充后逻辑才会执行 loadAndSetData(); }, []);
逻辑说明
moment().subtract(1, 'months')会将当前日期回退1个月,比如当前为2021-10-02,执行后得到2021-09-02- 链式调用
startOf('month')会将日期定位到当月的第一天零点,即2021-09-01 00:00:00,完全匹配需求 - 原代码仅定义了异步函数没有触发调用,补充
loadAndSetData()后功能才会正常生效
内容的提问来源于stack exchange,提问作者sadpatato
相关产品推荐
相关产品推荐

